Từ 1 tới 10 trên tổng số 10 kết quả

Đề tài: Asp.net Mvc 4 login cùng lúc 2 lần bị lỗi

  1. #1
    Ngày gia nhập
    08 2009
    Bài viết
    57

    Mặc định Asp.net Mvc 4 login cùng lúc 2 lần bị lỗi

    Mình gặp lỗi trong tình huống sau mà ko sửa dc, bro nào biết giúp mình nha

    mình code asp.net mvc 4

    mình mở 2 trang login lên, mình log 1 trang vào thành công, trang 2 mình tiếp tục log thì nó báo lỗi như sau: The provided anti-forgery token was meant for user but the current user is ...

    code của mình như sau:

    Code:
    View
    @using (Html.BeginForm())
    {
                @Html.AntiForgeryToken()
                @Html.ValidationSummary(true)
                .......
    }
    
    Action
    [HttpPost]
    [AllowAnonymous]
    [ValidateAntiForgeryToken]        
    public ActionResult DangNhap(TaiKhoan model)
    {
                .....
    }
    mình biết nó báo lỗi ở chỗ [ValidateAntiForgeryToken], nhưng mình ko biết fix như thế nào nữa
    cao thủ giúp mình nha

    thanks!

  2. #2
    Ngày gia nhập
    03 2009
    Bài viết
    173

    This is happening because the anti-forgery token embeds the username of the user as part of the encrypted token for better validation. When you first call the @Html.AntiForgeryToken() the user is not logged in so the token will have an empty string for the username, after the user logs in, if you do not replace the anti-forgery token it will not pass validation because the initial token was for anonymous user and now we have an authenticated user with a known username.

    You have a few options to solve this problem:

    1- Just this time let your SPA do a full POST and when the page reloads it will have an anti-forgery token with the updated username embedded.

    2- Have a partial view with just @Html.AntiForgeryToken() and right after logging in, do another AJAX request and replace your existing anti-forgery token with the response of the request.

    3- Just disable the identity check the anti-forgery validation performs. Add the following to your Application_Start method: AntiForgeryConfig.SuppressIdentityHeuristicChecks = true.

    -Stackoverflow-
    Mobilis in mobile

  3. #3
    Ngày gia nhập
    01 2011
    Bài viết
    189

    Giỏi tiếng anh quá! Bạn hay bạn nào biết nghĩa gì dịch nghe với. Mình nhìn vào không có hiểu họ nói gì hết!

  4. #4
    Ngày gia nhập
    08 2009
    Bài viết
    57

    mình cũng dốt E quá đọc chả hiểu gì, ai có thể nói rõ hơn ko

    thanks!

  5. #5
    Ngày gia nhập
    09 2011
    Bài viết
    22

    Trong tệp tin Global.asax ,tìm tới phương thức Application_Start và thêm dòng sau vào
    protected void Application_Start()
    {
    ........................................
    AntiForgeryConfig.SuppressIdentityHeuristicChecks = true
    .................................................. .................................
    }

  6. #6
    Ngày gia nhập
    08 2006
    Nơi ở
    Chương Mỹ-Hà Tây
    Bài viết
    27

    Mặc định Asp.net Mvc 4 login cùng lúc 2 lần bị lỗi

    Trích dẫn Nguyên bản được gửi bởi Keither Xem bài viết
    Mình gặp lỗi trong tình huống sau mà ko sửa dc, bro nào biết giúp mình nha

    mình code asp.net mvc 4

    mình mở 2 trang login lên, mình log 1 trang vào thành công, trang 2 mình tiếp tục log thì nó báo lỗi như sau: The provided anti-forgery token was meant for user but the current user is ...

    code của mình như sau:

    Code:
    View
    @using (Html.BeginForm())
    {
                @Html.AntiForgeryToken()
                @Html.ValidationSummary(true)
                .......
    }
    
    Action
    [HttpPost]
    [AllowAnonymous]
    [ValidateAntiForgeryToken]        
    public ActionResult DangNhap(TaiKhoan model)
    {
                .....
    }
    mình biết nó báo lỗi ở chỗ [ValidateAntiForgeryToken], nhưng mình ko biết fix như thế nào nữa
    cao thủ giúp mình nha

    thanks!
    Mình không biết bạn bị sao, nhưng mà mình từng bị một trường hợp là:
    Dữ liệu ở form cshtml thì đang đăng nhập còn server thì đã hết phiên đăng nhập nên nó văng ra lỗi này. Bạn thử F5 lại nếu đúng như vậy thì chắc bạn sẽ biết cách xử lý

    good luck
    abc345

  7. #7
    Ngày gia nhập
    08 2009
    Bài viết
    57

    Trích dẫn Nguyên bản được gửi bởi ngocanhk6apro Xem bài viết
    Trong tệp tin Global.asax ,tìm tới phương thức Application_Start và thêm dòng sau vào
    mình đã làm rồi mà ko dc

    Trích dẫn Nguyên bản được gửi bởi tuyetton Xem bài viết
    Mình không biết bạn bị sao, nhưng mà mình từng bị một trường hợp là:
    Dữ liệu ở form cshtml thì đang đăng nhập còn server thì đã hết phiên đăng nhập nên nó văng ra lỗi này. Bạn thử F5 lại nếu đúng như vậy thì chắc bạn sẽ biết cách xử lý

    good luck
    ko phải lỗi đó bạn ơi, các này do cái [ValidateAntiForgeryToken] nó làm cho lỗi, nếu bỏ nó đi thì ko sao, trên mạng cũng có chỉ mà toàn tiếng anh ko, mình đọc ko hiểu gì cả

  8. #8
    Ngày gia nhập
    03 2009
    Bài viết
    173

    bạn login 2 trang có mục đích gì
    Mobilis in mobile

  9. #9
    Ngày gia nhập
    06 2013
    Bài viết
    6

    Smile chặn logon 2 lần

    đơn giản là nó chặn việc logon nhiều lần vào server thôi bạn

  10. #10
    Ngày gia nhập
    08 2009
    Bài viết
    57

    Trích dẫn Nguyên bản được gửi bởi nautilux Xem bài viết
    bạn login 2 trang có mục đích gì
    chả làm gì cả, lỗi thì fix thôi

    giờ bạn thử mở bất cứ trang nào như trang congdongcviet xem

    login 1 lần xong qua trang 2 login thêm lần nữa cũng đâu có lỗi

    hoặc giả sử khi login rồi back về và login thêm lần nữa cũng ko sao

    trong khi bên mvc 4 thì lỗi

    mình muốn fix nó lại, ví dụ như khi login rồi, mà bạn có back về và login nữa thì chuyển về trang Home chẳng hạn
    Đã được chỉnh sửa lần cuối bởi Keither : 10-09-2013 lúc 05:43 PM.

Các đề tài tương tự

  1. Học C# và C++ cùng lúc có nên không?
    Gửi bởi IT01 trong diễn đàn Đào tạo CNTT
    Trả lời: 7
    Bài viết cuối: 22-07-2016, 11:57 AM
  2. Liệt kê các tổ hợp 3 ptử từ tập {A,B,C,D,E,F} không chứa cùng lúc A,F?
    Gửi bởi vetconmuchu trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 09-04-2013, 10:54 AM
  3. ADO.NET Bị lỗi thực hiện câu lệnh update khi nhiều luồng cùng chạy câu lệnh cùng một lúc
    Gửi bởi tuandoi1 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 20-07-2011, 06:51 PM
  4. Cách để 1 dropdownlist hiển thị cùng một lúc 2 trường dữ liệu
    Gửi bởi funny_dn89 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 7
    Bài viết cuối: 04-04-2011, 11:31 AM
  5. Lập trình âm thanh trên C# | Chạy cùng lúc 2 sound player trên cùng 1 form???
    Gửi bởi KingOfBlade trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 11-05-2009, 10:19 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn