로그인 후 권한 부여 속성을 작업에 추가 한 후 컨트롤러 작업에 액세스 할 수 없습니다.

사용자 987

사용자가 로그인 버튼을 클릭 할 때 로그인 할 수있는 간단한 로그인 페이지를 설정했습니다. 사용자는 로그인시 역할이 할당됩니다. 작동하는지 테스트하기 위해 로그인을 위해 다음 코드를 수행했습니다.

  [HttpPost]
        [ActionName("Login")]
        public ActionResult Login(LoginViewModel model)
        {
            if (ModelState.IsValid)
            {
                string userName = model.Username;
                string[] userRoles = new string[5];
                userRoles[0] = "Administrator";

                ClaimsIdentity identity = new ClaimsIdentity(DefaultAuthenticationTypes.ApplicationCookie);

                identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, userName));

              //  userRoles.ToList().ForEach((role) => identity.AddClaim(new Claim(ClaimTypes.Role, role)));
                identity.AddClaim(new Claim(ClaimTypes.Role, userRoles[0]));
                identity.AddClaim(new Claim(ClaimTypes.Name, userName));

                AuthenticationManager.SignIn(identity);

                return RedirectToAction("Success");
            }
            else
            {
                return View("Login",model);
            }
        }

그리고 사용자가 로그인 후 실제로 액세스 할 수 있는지 확인하기 위해 MVC 작업에 Authorize 속성을 추가했습니다. 수행 방법은 다음과 같습니다.

[Authorize(Roles="Administrator")]
        public ActionResult Register()
        {
            var model = new UserRegistrationViewModel();
            var countries = Connection.ctx.Countries.OrderBy(x => x.CountryName).ToList();
            model.Countries = new SelectList(countries, "CountryId", "CountryName");
            return View(model);
        }

하지만 어떤 이유로 다음과 같이 액세스하려고 할 때 :

mywebsite.com/user/register

나에게 보여줍니다.

HTTP Error 401.0 - Unauthorized
You do not have permission to view this directory or page.

뭐가 될수 있었는지 ?

편집하다:

다음은 사용자가 로그인 한 후의 클레임 및 ID 스냅 샷입니다.

여기에 이미지 설명 입력

그리고 두 번째 :

여기에 이미지 설명 입력

승리

쿠키 미들웨어가 있는지 확인할 수 있습니까? 예를 들면

Startup.cs

[assembly: OwinStartup(typeof(YourApplicationName.Startup))]
namespace YourApplicationName
{
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
                LoginPath = new PathString("/Account/Login")
            });
        }
    }
}

ASP.NET Core ID없이 쿠키 미들웨어 사용

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

권한 변경 후 Windows 공유에 부분적으로 액세스 할 수 없습니다. 백업 없음

분류에서Dev

Angular-지시문을 컴파일 한 후 컨트롤러 메서드에 액세스 할 수 없습니다.

분류에서Dev

외부 저장소 관리 권한을 추가 한 후 Google 스토어에 APK를 업로드 할 수 없습니다.

분류에서Dev

경로에 추가 한 후 로그인 할 수 없습니다.

분류에서Dev

.ssh에 0777 권한을 적용한 후 SSH에 원격으로 액세스 할 수 없습니다.

분류에서Dev

AngularFireStore에 업로드 한 후 getDownloadUrl () 내부에서 변수에 액세스 할 수 없습니다.

분류에서Dev

내 Live ID로 로그인 한 후 Microsoft 웹 사이트에 액세스 할 수 없습니다.

분류에서Dev

MS ID를 추가 한 후 내 MVC 5 웹 응용 프로그램에 액세스 할 수 없습니다.

분류에서Dev

액세스가 거부되어 죄송합니다. 플러그인 Spring Security 코어를 grails에서 2.0 버전으로 업그레이드 한 후이 페이지를 볼 수있는 권한이 없습니다.

분류에서Dev

15.10으로 업데이트 한 후 터미널에서 그래픽 앱을 시작할 수 없습니다.

분류에서Dev

kubuntu-full을 설치 한 후 더 이상 Unity 로그인에 액세스 할 수 없습니다.

분류에서Dev

커널을 업데이트 한 후 데스크탑에 로그인 할 수 없습니다. 벽지 만보기

분류에서Dev

자식 컨트롤러 생성 작업에서 부모 ID에 액세스 할 수 없습니다.

분류에서Dev

Ubuntu 17.10으로 업그레이드 한 후 NTFS 파티션에 대한 쓰기 권한에 액세스 할 수 없습니다.

분류에서Dev

X 서버를 수동으로 시작한 후 가상 터미널에 액세스 할 수 없습니다.

분류에서Dev

app.xml에 새 VIEW를 추가 한 후 Maximo Anywhere (작업 실행 앱)에 로그인 할 수 없음

분류에서Dev

그룹에 사용자를 추가 한 후 로그인 할 수 없습니다.

분류에서Dev

VirtualBox 5.2.6으로 업그레이드 한 후 Ubuntu 게스트에 로그인 할 수 없습니다.

분류에서Dev

MVC5에서 포스트 백 한 후 컨트롤러의 버튼 값을 가져올 수 없습니다.

분류에서Dev

웹 사이트 컨트롤러, 관리 서버, 프런트 엔드 서버, 게시 서버 및 파일 서버를 성공적으로 설치 한 후 작업자를 추가 할 수 없습니다.

분류에서Dev

13.10으로 업그레이드 한 후 nvidia 설정에 액세스 할 수 없습니다.

분류에서Dev

여러 작업에 동일한 작업이 있으므로 계약을 호스팅 할 수 없습니다.

분류에서Dev

robolectric gradle 플러그인으로 모든 작업에 대한 종속성을 확인할 수 없습니다.

분류에서Dev

사용자 정의 플러그인을 추가 한 후 SonarQube를 시작할 수 없습니다.

분류에서Dev

VPNC에 연결 한 후 인터넷에 액세스 할 수 없습니다.

분류에서Dev

18.10에서 19.04로 업데이트 한 후 부팅 할 수 없습니다.

분류에서Dev

ITextSharp-PDF 파일을 생성 한 후 IIS 작업자 프로세스에서 멈춰서 이동할 수 없습니다.

분류에서Dev

DSL 연결을 설정 한 후 Windows PC에 액세스 할 수 없습니다.

분류에서Dev

DSL 연결을 설정 한 후 Windows PC에 액세스 할 수 없습니다.

Related 관련 기사

  1. 1

    권한 변경 후 Windows 공유에 부분적으로 액세스 할 수 없습니다. 백업 없음

  2. 2

    Angular-지시문을 컴파일 한 후 컨트롤러 메서드에 액세스 할 수 없습니다.

  3. 3

    외부 저장소 관리 권한을 추가 한 후 Google 스토어에 APK를 업로드 할 수 없습니다.

  4. 4

    경로에 추가 한 후 로그인 할 수 없습니다.

  5. 5

    .ssh에 0777 권한을 적용한 후 SSH에 원격으로 액세스 할 수 없습니다.

  6. 6

    AngularFireStore에 업로드 한 후 getDownloadUrl () 내부에서 변수에 액세스 할 수 없습니다.

  7. 7

    내 Live ID로 로그인 한 후 Microsoft 웹 사이트에 액세스 할 수 없습니다.

  8. 8

    MS ID를 추가 한 후 내 MVC 5 웹 응용 프로그램에 액세스 할 수 없습니다.

  9. 9

    액세스가 거부되어 죄송합니다. 플러그인 Spring Security 코어를 grails에서 2.0 버전으로 업그레이드 한 후이 페이지를 볼 수있는 권한이 없습니다.

  10. 10

    15.10으로 업데이트 한 후 터미널에서 그래픽 앱을 시작할 수 없습니다.

  11. 11

    kubuntu-full을 설치 한 후 더 이상 Unity 로그인에 액세스 할 수 없습니다.

  12. 12

    커널을 업데이트 한 후 데스크탑에 로그인 할 수 없습니다. 벽지 만보기

  13. 13

    자식 컨트롤러 생성 작업에서 부모 ID에 액세스 할 수 없습니다.

  14. 14

    Ubuntu 17.10으로 업그레이드 한 후 NTFS 파티션에 대한 쓰기 권한에 액세스 할 수 없습니다.

  15. 15

    X 서버를 수동으로 시작한 후 가상 터미널에 액세스 할 수 없습니다.

  16. 16

    app.xml에 새 VIEW를 추가 한 후 Maximo Anywhere (작업 실행 앱)에 로그인 할 수 없음

  17. 17

    그룹에 사용자를 추가 한 후 로그인 할 수 없습니다.

  18. 18

    VirtualBox 5.2.6으로 업그레이드 한 후 Ubuntu 게스트에 로그인 할 수 없습니다.

  19. 19

    MVC5에서 포스트 백 한 후 컨트롤러의 버튼 값을 가져올 수 없습니다.

  20. 20

    웹 사이트 컨트롤러, 관리 서버, 프런트 엔드 서버, 게시 서버 및 파일 서버를 성공적으로 설치 한 후 작업자를 추가 할 수 없습니다.

  21. 21

    13.10으로 업그레이드 한 후 nvidia 설정에 액세스 할 수 없습니다.

  22. 22

    여러 작업에 동일한 작업이 있으므로 계약을 호스팅 할 수 없습니다.

  23. 23

    robolectric gradle 플러그인으로 모든 작업에 대한 종속성을 확인할 수 없습니다.

  24. 24

    사용자 정의 플러그인을 추가 한 후 SonarQube를 시작할 수 없습니다.

  25. 25

    VPNC에 연결 한 후 인터넷에 액세스 할 수 없습니다.

  26. 26

    18.10에서 19.04로 업데이트 한 후 부팅 할 수 없습니다.

  27. 27

    ITextSharp-PDF 파일을 생성 한 후 IIS 작업자 프로세스에서 멈춰서 이동할 수 없습니다.

  28. 28

    DSL 연결을 설정 한 후 Windows PC에 액세스 할 수 없습니다.

  29. 29

    DSL 연결을 설정 한 후 Windows PC에 액세스 할 수 없습니다.

뜨겁다태그

보관