ASP.Net MVC中是否可以有两个默认登录页面进行身份验证?一个用于特定文件夹,即Pages for Admin,另一个用于其他所有内容?
这就是场景。我有一个带有管理员门户的应用程序,只有管理员可以访问,并且任何活动用户都可以访问主门户。我正在使用MVC的默认表单身份验证,其根web.config配置如下:
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="240" defaultUrl="~/" slidingExpiration="true"/>
</authentication>
因此,如果未对用户进行身份验证,则会将每个用户重定向到“帐户/登录”。现在,我想在管理员用户尚未通过身份验证时为管理页面设置单独的登录页面(管理员/登录)。所有管理员页面都位于名为Admin的文件夹中。那么有没有办法让我在该文件夹的web.config中配置身份验证,默认为Admin / Login而不是Account / Login?
修改 规则很简单。当用户尝试访问任何管理页面,即直接更改URL,并且他们没有登录时,我希望他们将被重定向到管理员/登录,而不是帐户/登录。我们不需要检查角色,因为我们已经将控制器限制为仅限管理员角色。
在动作过滤器中执行此操作会更好吗?
答案 0 :(得分:0)
除非您有办法在页面加载时区分管理员和普通用户,否则没有..如果是从您记录的同一IP地址,您可以这样做......或者如果它从另一个帐户链接例如谷歌登录...你可以检查用户名和重定向,如果它保存为管理员...你必须有一种方法来区分你重新路由