Forms身份验证,为什么<allow roles="Administrators" /><deny users="*" />后,所有用户都进不来了? Forms身份验证,为什么<allow roles="Administrators" /><deny users="*" />后,(<allow roles="Administrators" />已经放在><deny users="*" />的前面)所有用户都进不来了?MSDN中意思,这样可以只让Administrators角色中的用户进来,可设置后所有人都进不来了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我知道*代表全部下面引用MSDN2005原文(ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.NETDEVFX.v20.chs/dv_ASPNETgenref/html/2d3d9bf6-f914-4c30-ad03-32eea98fa612.htm):下面的代码示例演示如何允许所有 Admins 角色成员进行访问以及如何拒绝所有 users 角色成员进行访问。 复制代码 <configuration> <system.web> <authorization> <allow roles="Admins"/> <deny users="*"/> </authorization> </system.web></configuration> <allow roles="Administrators" /><deny users="?" /> 我网站根目录下的Web.config:<?xml version="1.0"?><configuration> <appSettings/> <connectionStrings/> <system.web> <compilation debug="true"/> <authentication mode="Forms"> <forms name=".ASPXFORMSAUTH" loginUrl="Login.aspx"/> </authentication> </system.web></configuration>网站有一个Admin文件夹,此文件夹下还有一个Web.config:<?xml version="1.0" encoding="utf-8"?><configuration> <appSettings/> <connectionStrings/> <system.web> <authorization> <allow roles="Administrators" /> <deny users="*" /> </authorization> </system.web></configuration> <allow roles="Administrators" /><deny users="?" />不行这么做,只要通过了验证的用户,不管用户属于什么角色都能进去了 <appSettings> <add key="strConnection" value="server=(local);database=DB;Persist Security Info=True;Password=;User ID=sa;" /> <add key="Manager" value="admin" /> </appSettings>admin为用户表里的字段名,这样就把admin设置成管理员 ...LS的先看看help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.NETDEVFX.v20.chs/dv_ASPNETgenref/html/2d3d9bf6-f914-4c30-ad03-32eea98fa612.htm吧我感觉你没明白我在说什么 要确认你登录后的用户的角色已经是Administrator 完全确认调试跟到Application_AuthorizeRequest中看了httpContext.User = new System.Security.Principal.GenericPrincipal( formsIdentity, Roles );中的Roles 没有错 照http://dev.csdn.net/article/18/18958.shtm做的 allow放在前面也不行, "*" 代表阻止所有用户访问一般是防止匿名登陆,应该<deny users="?" /> 登陆无验证 硬编码在项目中 只是为了测试forms模式的验证 Application_PostAuthenticateRequest(Object sender, EventArgs e)把授权的代码放到这个时间里面,我以前和你一样用Application_AuthorizeRequest,怎么都不对! 发现了问题 是因为<allow roles="Administrators" />没起作用,但我在页中用User.IsInRole( "Administrators" )返回的却是true hyl8218(openSoul)还是你厉害 分少 见谅 全给你了 |100分|如何用session做登录 关于rdlc多个数据源的问题 关于跳转页面的问题 自动返回上一面页面 求助!!!!ADO安全信任域的问题 有人知道如何用JS或Net获取飞机票价吗 在Access下分页怎么写? asp.net中如何使用框架集? 请教type="file"的问题 各位大侠怎么样删除xml中的一个节点? C#中的资源释放问题? { 100分 } ,求一个特性(Attributes)在Asp.net项目中的实际例子。急,好了立即给分。 用js为DataGrid动态添加行,但为什么在DataGrid中取不到
<configuration>
<system.web>
<authorization>
<allow roles="Admins"/>
<deny users="*"/>
</authorization>
</system.web>
</configuration>
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<compilation debug="true"/>
<authentication mode="Forms">
<forms name=".ASPXFORMSAUTH" loginUrl="Login.aspx"/>
</authentication>
</system.web>
</configuration>网站有一个Admin文件夹,此文件夹下还有一个Web.config:<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<authorization>
<allow roles="Administrators" />
<deny users="*" />
</authorization>
</system.web>
</configuration>
<add key="strConnection" value="server=(local);database=DB;Persist Security Info=True;Password=;User ID=sa;" />
<add key="Manager" value="admin" />
</appSettings>admin为用户表里的字段名,这样就把admin设置成管理员
一般是防止匿名登陆,应该<deny users="?" />
把授权的代码放到这个时间里面,我以前和你一样用Application_AuthorizeRequest,怎么都不对!