Khi người dùng đăng nhập vào trang web của tôi nơi tôi sử dụng Xác thực Mẫu thì làm cách nào tôi có thể ngăn người dùng tiếp tục Đăng nhập & Trang đăng ký nếu anh ta có allready đăng nhập & đăng ký.Làm cách nào để ngăn người dùng truy cập Đăng nhập/Đăng ký và các trang không được xác thực khác trên ứng dụng MVC3?
6
A
Trả lời
5
Hai cách "ra khỏi đỉnh đầu của tôi":
1 - Tuỳ chỉnh Action Filter
mà chuyển hướng người dùng từ trang nếu họ đang đăng nhập
public class RedirectAuthenticatedRequests : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if(filterContext.HttpContext.Request.IsAuthenticated) {
filterContext.Result = new RedirectToRouteResult(
new RouteValueDictionary(new {
controller = "SomeController",
action = "SomeAction"
}
));
}
base.OnActionExecuting(filterContext);
}
}
2 - đơn giản. kiểm tra trong phương thức hành động login
nếu người dùng đã đăng nhập.
if(Request.IsAuthenticated) return RedirectToAction("SomeOtherView");
5
Các lối thoát dễ dàng được kiểm tra trong phương pháp điều khiển (đăng nhập/đăng ký) nếu người dùng được xác thực, và nếu nó là chuyển hướng người dùng đến trang web mà bạn muốn:
Something như thế này cho các trang đăng nhập (cùng với Đăng ký):
//
// GET: /Login/Index
public ActionResult Index()
{
if(User.Identity.IsAuthenticated){
//redirect to some other page
return RedirectToRoute("Home", "Index");
}
return View();
}
0
Bạn có thể kiểm tra thuộc tính User.Identity.IsAuthenticated và chuyển hướng chúng một cách thích hợp.
Các vấn đề liên quan
- 1. AngularJS - ngăn người dùng không được xác thực truy cập các tuyến đã cho
- 2. Làm cách nào để đăng ký và xác thực người dùng trong PHP bằng ArangoDB?
- 3. Làm cách nào để ngăn người dùng truy cập ứng dụng web từ trang đăng nhập Html được lưu cục bộ?
- 4. Làm cách nào để ngăn người dùng đăng dữ liệu nhiều lần trên trang web
- 5. Làm cách nào để xác thực lại người dùng trong ứng dụng ASP.Net MVC 3 _Intranet_?
- 6. Chuyển đến một trang khác khi người dùng không được uỷ quyền trong asp.net MVC3
- 7. Đăng nhập với tư cách người dùng khác khi sử dụng Xác thực Windows Tích hợp
- 8. Làm cách nào để ngăn các ứng dụng Android khác truy cập hoạt động của tôi
- 9. Làm cách nào để xác thực người dùng trong ứng dụng Nút bằng xác thực Django?
- 10. Xác thực, xác thực người dùng và Django-ngonpie
- 11. Cách sử dụng Shiro để xác thực người dùng dựa trên cookie hoặc facebook?
- 12. Symfony2 - Truy cập vào trang Đăng nhập và Đăng ký cho Ẩn danh chỉ không Người dùng
- 13. Đăng ký người dùng CouchApp
- 14. Làm cách nào để người dùng ứng dụng biết kết nối được thực hiện qua SSL?
- 15. Làm cách nào để giữ người dùng đăng nhập liên tục trên ứng dụng iPhone?
- 16. Xác thực người dùng trong các ứng dụng EventSourcing
- 17. Chỉ cho phép hộ chiếu đã xác thực người dùng truy cập trang được bảo vệ
- 18. Làm cách nào để ngăn chặn địa chỉ email trùng lặp trên biểu mẫu đăng ký người dùng?
- 19. Cách truy cập luồng của người dùng?
- 20. Cách tốt nhất để đăng ký người dùng từ ứng dụng điện thoại
- 21. Ứng dụng MVC2 (và những người khác) chia sẻ các dịch vụ WCF và xác thực
- 22. PHP "Session_regenerate_id" và Xác thực người dùng
- 23. MVC3 + Cách lấy tên người dùng hiện tại đã đăng nhập của người dùng
- 24. Làm cách nào để kiểm tra xem người dùng truy cập trang web có nằm trên trang gốc hoặc bất kỳ trang nào khác không?
- 25. Cách đăng xuất người dùng đã xác thực trong ServiceStack?
- 26. Backbone.js và xác thực người dùng
- 27. Tạo và đọc cookie để xác nhận người dùng đã đăng nhập trong C# MVC3
- 28. Sử dụng Facebook để đăng ký Người dùng mới trên Ứng dụng Android
- 29. Trang web, API và Ứng dụng iPhone cho phép người dùng đăng nhập qua Facebook
- 30. Làm cách nào để xác thực người dùng ở Django?
Tôi muốn tạo ra một thuộc tính có nguồn gốc [AuthorizeAttribute]. – Rhapsody
@Rhapsody bạn có thể giải thích các bước để có Thuộc tính đó là gì? – updev
@Xám bạn có nghĩa là ActionFilter trên Global.aspx? – updev