1

DB 첫 번째 접근 방식을 사용하여 구현 된 Entity Framework가있는 ASP.NET MVC 4 웹 응용 프로그램 "APP1"이 있습니다. 자동으로 생성 된 Account - model, - views 및 - controller을 인증에 사용하고 있습니다.ID 제공자를 사용하여 asp.net mvc 4 응용 프로그램에서 역할 추가

지금까지 모든 것이 잘 보입니다. 새 사용자를 추가하고 로그인 할 수 있습니다. 내 질문은 지금 : 사용자에게 역할을 추가하려면 어떻게합니까? 나는 기본적으로 오직 하나의 역할 만 필요로한다.

나는이 작은 수정했다

추가 정보 : 나는를 ConnectionString 속성 때문에 변경 내가 추가 이메일 주소가 누락되어 있지는 않은가 속성

  • 으로 AccountModel을 확장

    • 을 내 EF SQL Server 인스턴스가 Loc 대신 사용됩니다. alDb

    다음 표

  • 자동으로

    • dbo.UserProfile
    • dbo.webpages_Membership
    • dbo.webpages_OAuthMembership
    • 내 EF SQL 서버 DB에서 생성 된
    • dbo.webpages_Roles
    • dbo.webpages_UsersInRoles

    UPDATE

    내가 수동으로 생성으로 돌아가 셨습니다.

    신원 v1에 대한
    [Authorize(Roles = "canEdit")] 
    public ActionResult Index() 
    { 
        // return View(); 
    } 
    
    +0

    신원 v1 또는 v2를 사용하고 있습니까? – DavidG

    +0

    mvc4를 사용하고 있기 때문에 v1이라고 가정합니다. – Ronin

    +0

    MVC4에서 v2를 사용하는 데 문제가 있다고 생각하지 않습니다. – DavidG

    답변

    4

    코드는 다음과 같습니다 :

    내 TSQL 코드

    INSERT INTO webpages_Roles (RoleName) VALUES ('canEdit') 
    INSERT INTO webpages_UsersInRoles (UserId, RoleId) VALUES (2, 1) 
    

    는 특정 역할과 권한이 부여 된 사람에 대한 ActionResult 사용할 수 있도록하려면 울부 짖는 소리를 참조하십시오, 나는 다음과 같이 그들을 장식

    var username = "Fred"; 
    var roleName = "Administrator"; 
    Roles.AddUserToRole(username, roleName); 
    

    Identity v2를 사용하는 경우 (사용자 관리자 개체가 있다고 가정) :

    var username = "Fred"; 
    var roleName = "Administrator"; 
    var user = await userManager.FindByNameAsync(username); 
    userManager.AddToRole(user.Id, roleName); 
    
    +0

    어떻게 구현합니까? 예 : RolesController와 gui를 통해 역할을 추가 할 수있는보기가 있습니까? 또는 역할을 추가하는 더 간단한 방법이 있습니까?(sry 나는 mvc를 처음 사용합니다.) – Ronin

    +1

    그건 다른 질문입니다. 사용자 인터페이스를 직접 구현해야합니다. – DavidG

    관련 문제