views:

142

answers:

1

Hi all

The first page of our webapplication is a Login-Page.

We are using FormsAuthentication. We are not using a database, but multiple Active Directories. So we fill the FormsAuthenticationTicket by ourselfs.

This works great for one Active Directory, which is on our own network, but this isn't working for another Active Directory which is on another network.

When I look at the logging, getting the information from the Active Directory works, but when I'm finished getting the information I redirect to another page, and this just doesn't happen. The page posts back, but does not redirect.

I don't know where to look. I'm using dynamic impersonation, maybe this has something to do with it?

EDIT: So it IS redirecting. I have a returnUrl.

But it still is weird, the logging tells me the user is authenticated. When the user is authenticated but no roles are found I do something like

protected void Page_Load(object sender, EventArgs e) {
        m_logger = new Logger(22, MethodBase.GetCurrentMethod().DeclaringType);

        if (User.Identity.IsAuthenticated) {
            KanoWebIdentity kanoWebId = (KanoWebIdentity)User.Identity;
            m_logger.Debug("Een geauthenticeerde gebruiker laadt Aanmelden.aspx, zijn rechten worden getoond.");
            ShowNoPermissionMessage(kanoWebId);
        } else {
            m_logger.Debug("Een niet geauthenticeerde gebruiker laadt Aanmelden.aspx.");
        }
    }

It looks like everything in the cookies/session is lost after the redirect?

A: 

Thanks for the tips guys.

Using Fiddler we found out that the cookie was empty.

The roles string was too big.

Find more information here http://weblogs.asp.net/hernandl/archive/2004/07/30/FormsAuthRolesRev.aspx

Thanks again!