我正在asp.net MVC(Web应用程序)中做一个项目。我对此表示怀疑。请帮助我。
例如: 我有一个“ 登录 ”页面作为我的第一页,其中另外两个页面名为“ 主页 ”, “ 关于 ”。
当我在ISS Express中启动应用程序时,它将加载“ Localhost:12345”。
即。登录页面。
然后,当我单击“登录”按钮->主页(本地主机:12345 / Home)
当我单击“关于”链接->关于页面时(Locahost:12345 /关于)
我的问题是。:
当我在浏览器中直接提供(Locahost:12345 / About)的URL时,它将直接加载到“关于页面”而无需询问登录。
如果需要其他URL名称(“主页”或“关于页面”),则需要将我的URL重定向到“登录页面”。仅在主页(登录页面)之后,我需要通过单击相应的按钮转到其他页面。
执行此概念的正确方法是什么?
任何人,请帮助我。
答案 0 :(得分:3)
您需要向要通过身份验证的控制器添加[Authorize]属性。
答案 1 :(得分:0)
您可以使用简单表单身份验证。在操作方法中对用户进行身份验证后,只需添加FormsAuthentication.SetAuthCookie(username, false);
,然后在web.config中添加以下内容
<authentication mode="Forms">
<forms loginUrl="(Your_login_controller)" slidingExpiration="true" timeout="2880"></forms>
</authentication>
然后,您可以在不想对其进行未经授权访问的控制器上使用[Authorize]
属性。