我有一个 ASP.NET 2.0 Web 应用程序(C#),我想在其中启用单点登录。我只希望某些用户可以访问所有页面,而其他用户只能看到几个页面。我需要对我的 Web.config 文件进行哪些更改,以及我的页面代码隐藏中需要哪些代码?
谢谢
我有一个 ASP.NET 2.0 Web 应用程序(C#),我想在其中启用单点登录。我只希望某些用户可以访问所有页面,而其他用户只能看到几个页面。我需要对我的 Web.config 文件进行哪些更改,以及我的页面代码隐藏中需要哪些代码?
谢谢
幸运的是,构建 ASP.NET 时正是考虑到了这种场景。
这里的一个简单示例是以下项目结构:
如果我对您的理解正确,您可以简单地将“web.config”文件放入上面显示的“受保护”文件夹中。该 web.config 文件应如下所示:
<system.web>
<authorization>
<allow users ="Bob, Jane, Mary" />
</authorization>
</system.web>
阅读<allow>和的<deny>元素<authorization>,因为您还可以使用“角色”属性而不是“用户”来指定应该有权访问或被拒绝访问的用户组。
然后,您需要修改根 web.config 文件以“打开”表单身份验证。添加类似:
<authentication mode="Forms" >
<forms loginUrl="LoginPage.aspx" name=".ASPNETAUTH" protection="All" path="~/" timeout="20">
</forms>
</authentication>
...到你的<system.web>元素。
现在,您所要做的就是连接您的 LoginPage.aspx 以使用户登录。您可以使用标准的 ASP.NET 登录控件来实现此目的,如果您想使用自己的数据库进行身份验证/授权,您可以拦截登录控件的事件以执行您需要的任何操作。
要获得最快、最基本的解决方案,请查看以下视频:
http://www.asp.net/learn/videos/video-45.aspx
希望这可以帮助
/理查德