MVC新手4.我不想做的是使用MVC 4附带的内置帐户管理。但是,我在Views,AccountModel和AccountController下创建了一个Account文件夹。
我想要做的是限制对Account文件夹中的Views的访问。为此,在我的AccountController中,我使用以下内容:
[Authorize]
public class AccountController : Controller
{
[AllowAnonymous]
public ActionResult Login(string returnUrl)
{
ViewBag.ReturnUrl = returnUrl;
return View();
}
public ActionResult bob()
{
return View();
}...
在我的主页上,我在“帐户”视图下有一个指向bob视图的链接,现在可以将我重新路由到登录页面(这是正确的)。
现在,在表单提交后,使用正确的凭据(任何事情都可以)我应该能够看到bob,但我被重定向回登录,因为我没有被授权。代码:
public ActionResult Login(LoginModel model, string returnUrl)
{
if (ModelState.IsValid)
{
return RedirectToLocal(returnUrl);
}...
我不想使用内置的数据库连接,而是我需要检查字符串的用户名然后保持authorization = true以便我可以查看bob?
从长远来看,我计划连接到数据库并使用SPROC提取信息,所以现在,我只想根据检查的字符串对用户进行身份验证。
答案 0 :(得分:0)
您继续被重定向,直到ASP.net看到Forms Authenticated cookie。
FormsAuthentication.SetAuthCookie(theUsersNameasString, boolForSessionOrPersistentCookie);
假设您的Web.Config已配置为表单身份验证
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
ASP.Net将查找.ASPXAUTH cookie,除非在WEB.CONFIG中更改了此cookie的名称