Nu har jeg lavet en fil, som kun tager sig af at redirecte brugeren. Filer ser således ud:
public partial class Login_redirection : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
try
{
if (User.Identity.Name.Equals("admin"))
{
System.Diagnostics.Debug.Write("\nEr admin\n");
Response.Redirect("~/Admin/success.aspx");
}
else
{
System.Diagnostics.Debug.Write("\nEr ikke admin\n");
Response.Redirect("~/default.aspx");
}
}
catch(Exception ex) {
System.Diagnostics.Debug.Write("Fejlen er "+ex.Message.ToString());
System.Diagnostics.Debug.Write("Indre fejl er " + ex.InnerException.ToString());
}
}
}
Når jeg logger ind som administrator nu, så skriver den:
"
Er inde i login/succes.aspx
Er admin
A first chance exception of type 'System.Threading.ThreadAbortException' occurred in mscorlib.dll
Fejlen er Tråden blev afbrudt.A first chance exception of type 'System.NullReferenceException' occurred in App_Web_p82uffcv.dll
The thread has exited with code 0 (0x0).
The program '[4192] IEXPLORE.EXE: Script program' has exited with code 0 (0x0).
The program '[3368] WebDev.WebServer.EXE: Managed' has exited with code 0 (0x0).
"
Inde i "admin"-mappen har jeg en web.config, hvori der står:
"
<configuration xmlns="
http://schemas.microsoft.com/.NetConfiguration/v2.0"> <appSettings/>
<connectionStrings/>
<system.web>
<authorization>
<allow users="admin" />
<deny users="?" />
</authorization>
</system.web>
</configuration>
"
Men
Filen "success.aspx" ligger inde i "Admin", og den kan sagten åbnes inde i editoren. Men hvorfor dør tråden (innerexception: System.NullReferenceError. {Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.}), når den skal have tilgang til denne fil?