l mejor enfoque para los roles de usuario con una aplicación de intrane

Estoy desarrollando un sitio web de intranet ASP.NET MVC que necesita tener algunas funciones de usuario diferentes (administrador, editor, escritor, etc.) y el servidor utiliza SQL Server. Yo leoesta publicació by scottgu sobre seguridad basada en roles y lo usó como punto de partida. Los pasos que seguí fueron:

Configuró una base de datos utilizando la aplicación asp_regsql.exe Establezca el modo de autenticación en windows

<authentication mode = "Window" />

Agregó una entrada de cadena de conexión a Web.config,

<connectionStrings>
  <add name="SqlRoleManagerConnection" 
       connectionString="Data Source=localhost; Initial Catalog=aspservicedb; Integrated Security=SSPI;" />
</connectionStrings>

Se agregó una entrada de roleManager a la sección Web.config,

<roleManager enabled="true" defaultProvider="sqlRoleManager">
  <providers>
    <clear />
    <add name="sqlRoleManager" type="System.Web.Security.SqlRoleProvider"
         connectionStringName="SqlRoleManagerConnection"
         applicationName="MyApplication" />
  </providers>
</roleManager>

Añadió algún código de rol al método Application_Start () del archivo Global.asax.cs,

if (!Roles.RoleExists("Editor"))
{
   Roles.CreateRole("Editor");
}
if (!Roles.RoleExists("Writer"))
{
   Roles.CreateRole("Writer");
}
if (!Roles.RoleExists("SiteAdmin"))
{
   Roles.CreateRole("SiteAdmin");
   Roles.AddUserToRole("MYCOMPUTER\\Matt", "SiteAdmin");
}

Modificó mis controladores para usar los roles:

[Authorize(Roles = "SiteAdmin")]
public class SiteAdminController : Controller
{
    .
    .
    .
}

Y todo esto parece funcionar en este momento, pero me pregunto si hay un mejor enfoque para la entrega de roles o si hay problemas con este enfoque. Es fácil convencerse de que el enfoque es bueno porque funcionó, pero me gustaría adoptar un enfoque diferenteahor en lugar de más tarde si este no es el mejor enfoque para resolver el problema. En otra parte leí que alguien decía que esto era "pirateo", pero nunca calificó realmente por qué no resolvería el problema de esta manera. ¿Tus pensamientos? ¿Tienes algo mejor para resolver esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta