2011-02-25 98 views
0

我正在构建Intranet网站。而且我仍然不确定如何实施网站的安全。我正在使用ASP.NET MVC 3.如何处理Web应用程序中的身份验证/授权

公司中的任何人都可以访问该网站。这是一个识别系统,您可以提名员工获得奖励。目前我没有使用任何类型的身份验证。我有一个角色表,其中包含角色和一个关联表,指定哪个用户包含哪些角色,这些角色主要是管理员角色。如果用户属于这些角色,那么他/她仍然可以访问网站的各个部分。

我需要使用内置的成员资格吗?或者我需要为此创建一个自定义成员资格?我们不使用登录页面。如果用户没有角色访问视图,则他/她被重定向到另一个页面。

我们使用IIS进行身份验证。这与Windows身份验证相同吗?我有用于授权的角色表。

我现在只是有点困惑,我希望有人能给我更多的清晰。

+1

我不知道如何说您使用IIS来执行身份验证但不知道它是如何做到的?在使用Windows身份验证时,并假设所有用户和Web服务器都位于同一个域(或受信任的域)上,则用户无需专门登录到Web站点(因为他们已登录到他们的机器和浏览器将与服务器协商身份验证过程在ASP.NET应用程序中,您可以使用页面的“用户”属性访问当前正在执行请求的用户(及其组)。 – 2011-02-25 10:58:21

回答

1

可以很好地使用ASP.Net MembershipProviderRoleProvider这个

有关如何使用他们,你应该看看Videos at asp.net教程。

这里是在MSDN

+0

如果我不使用登录页面,则实现此功能吗?不需要登录页面 – 2011-02-25 11:04:46

+0

您有样本代码? – 2011-02-25 11:06:06

1

步行通过本博客文章由Scott Guthrie的可能帮助:

Recipe: Enabling Windows Authentication within an Intranet ASP.NET Web application

对于内网Web应用程序,使用最常见的验证场景被称为Windows验证。 Windows身份验证避免了在应用程序内创建登录表单的需要,并且不需要最终用户手动输入用户名/密码凭证以登录到应用程序。相反,ASP.NET和IIS可以自动检索并验证以安全方式访问网站的最终用户的Windows用户名

+0

这是一个对所有人开放的网站,只有部分视图无法被所有人访问,为此用户必须有角色表中的角色,那么我将如何将它与角色表一起使用,而不是像下面这样:If User.IsInRole(“DOMAIN \ managers”)Then ..? – 2011-02-28 12:21:21