Tengo un sitio web ASP.Net con múltiples roles, cada uno con acceso a un directorio separado (es decir, los usuarios administradores pueden acceder/admin, los compradores pueden acceder/comprar, etc.), utilizando una página de inicio de sesión compartida. Si alguien visita la página de inicio de sesión con la URL de retorno establecida en un directorio al que no tiene acceso (por ejemplo, un comprador visita /login.aspx?returnurl=/admin/index.aspx), el usuario puede autenticarse correctamente (las credenciales de inicio de sesión son válido), pero terminan en la página de inicio de sesión (no tienen acceso a la página que han solicitado).¿Determina si el usuario puede acceder a la página solicitada?
¿Cómo recojo esto para que pueda mostrar un mensaje al usuario?
Esto es solo una solución parcial, más adecuada si no tiene diferentes roles que pueden acceder a diferentes páginas. Si lo haces, puedes tener un usuario que esté autenticado pero que aún no pueda acceder a ReturnUrl, lo que posiblemente te lleve a un bucle de redirección. –
La respuesta de Andrey debe marcarse como la respuesta correcta. – EtienneT
Autenticación y autorización son conceptos totalmente diferentes ... –