내 다른 프로젝트 나 메소드 이상 사용할 WebPortal
에서 기본 RoleProvider
MVC4 : 데이터베이스에 추가하는 역할
public class CodeFirstRoleProvider : RoleProvider
{
public override void CreateRole(string roleName)
{
if(string.IsNullOrEmpty(roleName)) return;
using(var context = new SISContext())
{
var role = context.Roles.SingleOrDefault(rl => rl.RoleName == roleName);//Roles table exists in database
if(role == null)
{
var newRole = new Role
{
RoleId = Guid.NewGuid(),
RoleName = roleName
};
context.Roles.Add(newRole);
context.SaveChanges();
}
}
}
}
에서 상속 CodeFirstRoleProvider
클래스 Authorization
라는 프로젝트를의이 방법
var _role = new CodeFirstRoleProvider();
_role.CreateRole("Admin");
_role.CreateRole("NonAdmin");
다음 가정 해 봅시다
지금이 코드를 내 webportal
에 어디에 넣어야합니까? 따라서 응용 프로그램이 처음 실행될 때 이러한 역할이 데이터베이스에 추가됩니다.
이 프로그램이 처음 실행되고 누군가가 등록 버튼을 클릭한다고 가정 할 때 위에서 언급 한 역할과 함께 드롭 다운 목록을 갖고 싶습니다. 따라서 이러한 역할은 등록자가 클릭되기 전에 데이터베이스에 있어야합니다.
역할이 데이터베이스에 있으면 나중에이 값에 액세스 할 필요가 없습니다. 한 가지 방법은 수동으로 데이터베이스에 값을 쓰는 것이지만 사용하고 싶지는 않습니다.이 함수를 사용할 수 있기 때문입니다.
CodeFirstRoleProvider() 란 무엇입니까? – msysmilu