在我了解.NET的身份验证/授权和登录重定向系统如何工作时,我一定有些东西缺失。我有一个网页管理员/ Default.aspx的一个限定为admin用户,所以我有,例如:.NET身份验证授权角色登录redirct returnURL混淆
<configuration>
<system.web>
<authorization>
<allow roles="admin" />
<deny users="*" />
</authorization>
</system.web>
</configuration>
当用户送过来,如果他不是一个管理员,他被重定向到登录页面在web.config指定:
<authentication mode="Forms">
<forms loginUrl="Login.aspx" name="someName" timeout="60" path="/">
</forms>
</authentication>
用返回的URL(其看起来像RETURNURL =%2fAdmin%2fDefault.aspx)。现在,如果用户再次使用不符合“admin”角色规范的凭证登录,他将被重定向到admin /默认页面,然后再次返回到登录页面。
我想它的一切工作正常,但似乎我可以重定向到登录页面,如果用户没有登录,但重定向他到另一(家庭或默认)页面,如果他已登录但不符合角色要求。
我该如何去做这件事?
由于提前,
生锈
感谢您的回复。与此同时,我想出了一个解决方法,遵循这个博客的想法:http://geekswithblogs.net/ranganh/archive/2005/04/25/37598.aspx,并发现它类似于你的#2的建议。在登录页面上,我检查用户是否已经过身份验证,并且是否有returnURL - 如果是这样,我只需重定向到主页。我会认为有一个更正式的解决方案使用.Net的安全设置,但它现在可行。 – rusty 2010-12-08 17:56:58