MobileFormsAuthentication.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / Mobile / MobileFormsAuthentication.cs / 1305376 / MobileFormsAuthentication.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

using System.Diagnostics; 
using System.Security; 
using System.Web.Security;
using System.Web.UI.MobileControls; 
using System.Security.Permissions;

namespace System.Web.Mobile
{ 
    /*
     * MobileFormsAuthentication 
     * provides mobile comopatible version of ASP.Net methods 
     *
     * Copyright (c) 2000 Microsoft Corporation 
     */


    [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] 
    [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
    [Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")] 
    public class MobileFormsAuthentication 
    {
        // Class only contains statics, so make the constructor private. 
        private MobileFormsAuthentication()
        {
        }
 
        /// 
        public static void RedirectFromLoginPage(String userName, bool createPersistentCookie) 
        { 
            FormsAuthentication.RedirectFromLoginPage(userName, createPersistentCookie, FormsAuthentication.FormsCookiePath);
        } 

        /// 
        public static void RedirectFromLoginPage(String userName, bool createPersistentCookie, String strCookiePath)
        { 
            FormsAuthentication.RedirectFromLoginPage(userName, createPersistentCookie, strCookiePath);
            /* 
            // Disallow redirection to an absolute url. 
            String requestReturnUrl = HttpContext.Current.Request["ReturnUrl"];
            if (requestReturnUrl != null && requestReturnUrl.IndexOf (":") != -1) 
            {
                throw new SecurityException(SR.GetString(SR.Security_ReturnUrlCannotBeAbsolute, requestReturnUrl));
            }
 
            // GetRedirectUrl redirects to returnUrl if it exists, current app's default.aspx otherwise.
            String redirectUrl = FormsAuthentication.GetRedirectUrl(userName, createPersistentCookie); 
            Debug.Assert (redirectUrl == requestReturnUrl || requestReturnUrl == null); 

            String updatedRedirectUrl = redirectUrl; 
            String cookieName = FormsAuthentication.FormsCookieName;
            HttpCookie cookie = FormsAuthentication.GetAuthCookie(userName, createPersistentCookie, strCookiePath);
            String strEncrypted = cookie.Value;
 
            int ticketLoc = redirectUrl.IndexOf(cookieName + "=");
            if(ticketLoc != -1) 
            { 
                updatedRedirectUrl = redirectUrl.Substring(0, ticketLoc);
                updatedRedirectUrl += cookieName + "=" + strEncrypted; 
                int ampersandLoc = redirectUrl.IndexOf('&', ticketLoc);
                if(ampersandLoc != -1)
                {
                    updatedRedirectUrl += redirectUrl.Substring(ampersandLoc); 
                }
            } 
            else 
            {
                int loc = updatedRedirectUrl.IndexOf('?'); 
                updatedRedirectUrl += (loc != -1) ? "&" : "?";
                updatedRedirectUrl += cookieName + "=" + strEncrypted;
            }
 
            HttpContext.Current.Response.Redirect(updatedRedirectUrl, true);
//            MobileRedirect.RedirectToUrl(HttpContext.Current, updatedRedirectUrl, true); 
            */ 
        }
 
        /// 
        public static void SignOut()
        {
            /* 
            MobilePage page = HttpContext.Current.Handler as MobilePage;
            if (page != null) 
            { 
                page.Adapter.PersistCookielessData = false;
                if (!page.Device.SupportsEmptyStringInCookieValue) 
                {
                    // Desktop signout with empty cookie value is not handled properly by the device.
                    InternalSignOut ();
                    return; 
                }
            } 
            */ 
            FormsAuthentication.SignOut();
        } 

/*
        private static void InternalSignOut ()
        { 
            HttpContext context = HttpContext.Current;
            String userName = 
                context.User == null || context.User.Identity == null || context.User.Identity.Name == null ? 
                "" :
                context.User.Identity.Name; 
            FormsAuthenticationTicket ticket = new FormsAuthenticationTicket (
                1, // version
                userName,
                DateTime.Now, // Issue-Date 
                new DateTime(1999, 10, 12), // Expiration
                false, // IsPersistent 
                "", // User-Data 
                FormsAuthentication.FormsCookiePath);
            String encryptedTicket = FormsAuthentication.Encrypt (ticket); 
            if (encryptedTicket == null) { // Encrypt returned null
                encryptedTicket = "x";
            }
            HttpCookie cookie = new HttpCookie (FormsAuthentication.FormsCookieName, encryptedTicket); 
            cookie.Path = FormsAuthentication.FormsCookiePath;
            cookie.Expires = new System.DateTime (1999, 10, 12); 
            cookie.Secure = FormsAuthentication.RequireSSL; 
            context.Response.Cookies.Remove (FormsAuthentication.FormsCookieName);
            context.Response.Cookies.Add (cookie); 
        }
        */
    }
} 

 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

using System.Diagnostics; 
using System.Security; 
using System.Web.Security;
using System.Web.UI.MobileControls; 
using System.Security.Permissions;

namespace System.Web.Mobile
{ 
    /*
     * MobileFormsAuthentication 
     * provides mobile comopatible version of ASP.Net methods 
     *
     * Copyright (c) 2000 Microsoft Corporation 
     */


    [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] 
    [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
    [Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")] 
    public class MobileFormsAuthentication 
    {
        // Class only contains statics, so make the constructor private. 
        private MobileFormsAuthentication()
        {
        }
 
        /// 
        public static void RedirectFromLoginPage(String userName, bool createPersistentCookie) 
        { 
            FormsAuthentication.RedirectFromLoginPage(userName, createPersistentCookie, FormsAuthentication.FormsCookiePath);
        } 

        /// 
        public static void RedirectFromLoginPage(String userName, bool createPersistentCookie, String strCookiePath)
        { 
            FormsAuthentication.RedirectFromLoginPage(userName, createPersistentCookie, strCookiePath);
            /* 
            // Disallow redirection to an absolute url. 
            String requestReturnUrl = HttpContext.Current.Request["ReturnUrl"];
            if (requestReturnUrl != null && requestReturnUrl.IndexOf (":") != -1) 
            {
                throw new SecurityException(SR.GetString(SR.Security_ReturnUrlCannotBeAbsolute, requestReturnUrl));
            }
 
            // GetRedirectUrl redirects to returnUrl if it exists, current app's default.aspx otherwise.
            String redirectUrl = FormsAuthentication.GetRedirectUrl(userName, createPersistentCookie); 
            Debug.Assert (redirectUrl == requestReturnUrl || requestReturnUrl == null); 

            String updatedRedirectUrl = redirectUrl; 
            String cookieName = FormsAuthentication.FormsCookieName;
            HttpCookie cookie = FormsAuthentication.GetAuthCookie(userName, createPersistentCookie, strCookiePath);
            String strEncrypted = cookie.Value;
 
            int ticketLoc = redirectUrl.IndexOf(cookieName + "=");
            if(ticketLoc != -1) 
            { 
                updatedRedirectUrl = redirectUrl.Substring(0, ticketLoc);
                updatedRedirectUrl += cookieName + "=" + strEncrypted; 
                int ampersandLoc = redirectUrl.IndexOf('&', ticketLoc);
                if(ampersandLoc != -1)
                {
                    updatedRedirectUrl += redirectUrl.Substring(ampersandLoc); 
                }
            } 
            else 
            {
                int loc = updatedRedirectUrl.IndexOf('?'); 
                updatedRedirectUrl += (loc != -1) ? "&" : "?";
                updatedRedirectUrl += cookieName + "=" + strEncrypted;
            }
 
            HttpContext.Current.Response.Redirect(updatedRedirectUrl, true);
//            MobileRedirect.RedirectToUrl(HttpContext.Current, updatedRedirectUrl, true); 
            */ 
        }
 
        /// 
        public static void SignOut()
        {
            /* 
            MobilePage page = HttpContext.Current.Handler as MobilePage;
            if (page != null) 
            { 
                page.Adapter.PersistCookielessData = false;
                if (!page.Device.SupportsEmptyStringInCookieValue) 
                {
                    // Desktop signout with empty cookie value is not handled properly by the device.
                    InternalSignOut ();
                    return; 
                }
            } 
            */ 
            FormsAuthentication.SignOut();
        } 

/*
        private static void InternalSignOut ()
        { 
            HttpContext context = HttpContext.Current;
            String userName = 
                context.User == null || context.User.Identity == null || context.User.Identity.Name == null ? 
                "" :
                context.User.Identity.Name; 
            FormsAuthenticationTicket ticket = new FormsAuthenticationTicket (
                1, // version
                userName,
                DateTime.Now, // Issue-Date 
                new DateTime(1999, 10, 12), // Expiration
                false, // IsPersistent 
                "", // User-Data 
                FormsAuthentication.FormsCookiePath);
            String encryptedTicket = FormsAuthentication.Encrypt (ticket); 
            if (encryptedTicket == null) { // Encrypt returned null
                encryptedTicket = "x";
            }
            HttpCookie cookie = new HttpCookie (FormsAuthentication.FormsCookieName, encryptedTicket); 
            cookie.Path = FormsAuthentication.FormsCookiePath;
            cookie.Expires = new System.DateTime (1999, 10, 12); 
            cookie.Secure = FormsAuthentication.RequireSSL; 
            context.Response.Cookies.Remove (FormsAuthentication.FormsCookieName);
            context.Response.Cookies.Add (cookie); 
        }
        */
    }
} 

 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK