Estoy usando AspNetSqlMembershipProvider y creé mis páginas para el aprovisionamiento. Ahora que tengo este trabajo, me pregunto cuál es la mejor manera de utilizar la seguridad en todo el sitio. Para los controladores, puedo usar [Autorizar], pero, ¿a dónde voy después? Quiero decir, ¿acabo de desordenar las vistas con Roles.IsUserInRole, y en qué otro lugar debo poner cheques? ¿Algún buen ejemplo de sitios sobre cómo lidiar con esto?MVC3 Consejos de seguridad
Respuesta
No, usted no debe estorbar sus puntos de vista con Roles.IsUserInRole
, eso no es responsabilidad de una vista para comprobar papeles, eso es un controlador/autorizar el trabajo de filtro para poblar el modelo de vista para que la vista es suficiente:
@if (Model.ShouldDisplaySomeSection)
{
... // some section
} else {
... // not authorized
}
También tenga en cuenta que si decora una acción de controlador con el atributo estándar [Authorize]
y un usuario no tiene suficientes roles, esta acción podría nunca ejecutarse y la vista nunca llegaría.
Personalmente encuentro Developer Highway Code como una lista de verificación de seguridad extremadamente útil, incluso si no está restringida a MVC.
creé una solución en la que I derivado de atributo Authorize
y en mi propio atributo introduje una matriz param[]
de un tipo llamado enum
UserRoles
, por lo que me salto las cuerdas mágicas.
Luego, por el desorden de las vistas. Bueno, supongo que deberías preguntarte cuando estás a punto de escribir IsUserInRole
en la vista si realmente deberías escribir eso allí. Creo que deberías tratar de mantener las vistas lo más limpias posible e intentar ordenar tanto como sea posible en el ViewModel
. Y si no puedes hacer eso, considera un HTML Helper.
- 1. Consejos de seguridad para la publicación de datos de jquery ajax?
- 2. ASP.NET MVC3 Razor @string problema de puntos
- 3. CEDET consejos de escalabilidad
- 4. Tabla consejos de diseño
- 5. Atajo de teclado para consejos
- 6. Consejos de despliegue Código PHP
- 7. Consejos y trucos de WCF
- 8. Desempeño de terracota y consejos
- 9. Consejos y trucos de optimización
- 10. Consejos y trucos profesionales
- 11. Consejos para desarrollar Penlets
- 12. ASP.NET MVC3, Html.TextAreaPara sin codificación?
- 13. Necesito consejos sobre el algoritmo criptográfico
- 14. MVC3 Acción Tamaño del archivo de límite
- 15. MVC3 Ajax.ActionLink
- 16. MVC3 página de inicio
- 17. Plantillas de pantalla MVC3
- 18. Consejos para acelerar JDBC escribe?
- 19. Consejos para escribir un DBMS
- 20. MongoDB consejos, trucos y trampas
- 21. Consejos de ayuda de superposición con jQuery
- 22. Xcode consejos de organización de ventanas?
- 23. consejos de eficiencia del mecanismo de bucle
- 24. Vala: Gotchas, consejos y trucos
- 25. Necesito consejos para diseñar el software 'a prueba de grietas'
- 26. Mvc3 Multi pestañas token antiforgery
- 27. Solicitud de API de Paypal con MVC3
- 28. Consejos para construir un sitio como stackoverflow
- 29. Consejos y trucos del emulador de Android
- 30. Xcode Consejos para usuarios de Eclipse?
+1 para el enlace del código de la autopista para desarrolladores ... ¡es increíble! – Mahin