指教一下FormsAuthentication的理解和使用 譬如现在我的login.aspx是登陆判断页面,如果我一开始是进入的AAA.aspx,如果没有登陆,则转到login.aspx页面,然后登陆成功后,直接转入刚才的AAA.aspx页面,这里是不是可以用到FormsAuthentication.GetRedirectUrl()啊,请问怎么用啊,在哪儿判断。谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先要在web.config里面进行配置,限制匿名用户,还有一个就设置跳转页面,然后页面部份,login.aspx里面验证用户登陆成功,就调用,FormsAuthentication。就行。 <authentication mode="Forms"> <forms name="·name" loginUrl="admin/login.aspx" timeout="30"></forms> </authentication> <!-- 授权 此节设置应用程序的授权策略。可以允许或拒绝不同的用户或角色访问 应用程序资源。通配符: "*" 表示任何人,"?" 表示匿名 (未经身份验证的)用户。 --> <authorization> <allow users="*" /> <!-- 允许所有用户 --> <!-- <allow users="[逗号分隔的用户列表]" roles="[逗号分隔的角色列表]"/> <deny users="[逗号分隔的用户列表]" roles="[逗号分隔的角色列表]"/> --> </authorization> 登入成功后。System.Web.Security.FormsAuthentication.SetAuthCookie(username,true); 先谢谢了。还是不是很懂,譬如现在有AAA.aspx跟BBB.aspx两个页面,其中AAA.asp页面是必须登陆后才能进入看的,BBB.aspx不用,现在有两点不明白:1.我没有登陆直接进入AAA.aspx页面,将根据<forms name="·name" loginUrl="login.aspx" timeout="30"></forms>,转向login.aspx,然后登陆成功后,怎么会直接进入刚刚我一开始进入的AAA.aspx页面,这是根据哪儿的代码或者配置啊?2.AAA.asp页面是必须登陆,而BBB.aspx不用,他们在哪儿设置这种区别? 1, 转向login.aspx,然后登陆成功后,怎么会直接进入刚刚我一开始进入的AAA.aspx页面,这是根据哪儿的代码或者配置啊?---不用配置,你可以看转到登录页面时地址栏显示的2,if (HttpContext.Current.User.Identity.IsAuthenticated) { Response.Write("yz"); } else { Response.Write("myz"); } 谢谢上面的,这个我看到了,我现在是想问为什么,譬如为什么我登陆AAA.asp失败后转向login.aspx后,地址栏login.aspx后面为什么多出了那些乱码,这儿是从哪儿设置的啊? 譬如我现在建立一个login.aspx页面,想必须通过验证才可以进入,我现在修改web.config文件,添加: <authentication mode="Forms"> <forms name=".abcd" loginUrl="login.aspx" timeout="90" protection="All"></forms> </authentication>,然后我又建立了一个123.aspx页面,现在当我启动时直接进入123.aspx页面时,为什么可以直接进入,而不是转向到login.aspx页面,哪里还应该设置啊? 是这样的.在.net的web.config中你可以设置哪些页,或者哪些文件夹是要受到保护的,以及如何保护.比如说123.aspx这个页面,所有人可以访问.那么相信的配置即是(allow user="*",当然实际上每个页面默认情况下都是可以访问的,)所以,你应该只保护那些需要被保护的页或文件夹.这就是为什么你可以直接进入123.aspx而不会转到login.aspx中,因为123.aspx不是被保护的.你可以建一个456.aspx中,在web.config中做相应的设置,将456.aspx设置为 (deny user="?",allow user="*",这个意思就是所有的匿名都被拒绝,允许所有用户来访问,当然实际上是仅有授权用户才可以访问,如何授权呢,就需要你登录了,你登录后,会发放一个许可,也就票据了,如果你自己写登录界面的话,需要这样SetAuthCookie发许可,如果是用login控件的话就不用了,它自动发放许可) 这样应该明白一些了吧. page_load执行后的页面加载内容问题? 图片左右切换 请问怎么让gridView只显示前20条数据?gridView数据源是DataView格式! 复制控件后编译的时候提示控件不存在 Repeater不刷新啊,大家帮帮忙啊,在线等 asp.net 2.0中有没有自带这样的控件,输入日期时,点击按钮,弹出日历控件,然后将选择的日期返回到日期框中. 急!麻烦帮个忙!谢了 关于sqlconnection的问题 cookie乱码 请教 答者有分 登陆验证的问题 如何能够在GridView列标题上方,加上一行,对应每列,实现筛选。
<forms name="·name" loginUrl="admin/login.aspx" timeout="30"></forms>
</authentication> <!-- 授权
此节设置应用程序的授权策略。可以允许或拒绝不同的用户或角色访问
应用程序资源。通配符: "*" 表示任何人,"?" 表示匿名
(未经身份验证的)用户。
--> <authorization>
<allow users="*" /> <!-- 允许所有用户 -->
<!-- <allow users="[逗号分隔的用户列表]"
roles="[逗号分隔的角色列表]"/>
<deny users="[逗号分隔的用户列表]"
roles="[逗号分隔的角色列表]"/>
-->
</authorization>
System.Web.Security.FormsAuthentication.SetAuthCookie(username,true);
还是不是很懂,譬如现在有AAA.aspx跟BBB.aspx两个页面,其中AAA.asp页面是必须登陆后才能进入看的,BBB.aspx不用,现在有两点不明白:
1.我没有登陆直接进入AAA.aspx页面,将根据<forms name="·name" loginUrl="login.aspx" timeout="30"></forms>,转向login.aspx,然后登陆成功后,怎么会直接进入刚刚我一开始进入的AAA.aspx页面,这是根据哪儿的代码或者配置啊?2.AAA.asp页面是必须登陆,而BBB.aspx不用,他们在哪儿设置这种区别?
{
Response.Write("yz");
}
else
{ Response.Write("myz");
}
<forms name=".abcd" loginUrl="login.aspx" timeout="90" protection="All"></forms>
</authentication>
,然后我又建立了一个123.aspx页面,现在当我启动时直接进入123.aspx页面时,为什么可以直接进入,而不是转向到login.aspx页面,哪里还应该设置啊?
在.net的web.config中你可以设置哪些页,或者哪些文件夹是要受到保护的,以及如何保护.比如说123.aspx这个页面,所有人可以访问.那么相信的配置即是(allow user="*",当然实际上每个页面默认情况下都是可以访问的,)所以,你应该只保护那些需要被保护的页或文件夹.这就是为什么你可以直接进入123.aspx而不会转到login.aspx中,因为123.aspx不是被保护的.
你可以建一个456.aspx中,在web.config中做相应的设置,将456.aspx设置为 (deny user="?",allow user="*",这个意思就是所有的匿名都被拒绝,允许所有用户来访问,当然实际上是仅有授权用户才可以访问,如何授权呢,就需要你登录了,你登录后,会发放一个许可,也就票据了,如果你自己写登录界面的话,需要这样SetAuthCookie发许可,如果是用login控件的话就不用了,它自动发放许可) 这样应该明白一些了吧.