我使用Flask-Login并希望阻止登录用户访问某些页面,例如[HttpPost]
[ActionName("Register")]
public ActionResult RegisterDo(UserRegistrationViewModel model)
{
if (ModelState.IsValid)
{
var user = new Users();
user.FirstName = model.FirstName;
user.LastName = model.LastName;
user.Email = model.Email;
user.PasswordSalt = Helpers.PasswordHelper.CreateSalt(40);
user.PasswordHash = Helpers.PasswordHelper.CreatePasswordHash(model.Password, user.PasswordSalt);
user.CountryId = Convert.ToInt32(model.SelectedCountryId);
user.Active = true;
Connection.ctx.Users.Add(user);
Connection.ctx.SaveChanges();
var role = new UserRoles();
role.RoleId = 2;
role.UserId = user.UserId;
role.Active = true;
user.UserRoles.Add(role);
Connection.ctx.SaveChanges();
return RedirectToAction("Success");
}
else
{
return View(model);
}
}
。是否与/login
相反,如@login_required
?
答案 0 :(得分:0)
当然,您可以使用current_user
代理,因此在视图路线中您可以这样做:
if current_user.is_authenticated:
return redirect(url_for('already_logged_in')) ## or whatever.