Exemplo n.º 1
0
        /// <summary>
        /// Setup the login status control
        /// </summary>
        protected override void Setup()
        {
            base.Setup();

            HTMLDiv <object> container = Helpers.Div();

            container.Style.Display = Display.inlineblock;
            container.Style.MarginLeft("20px");

            string loginUrl   = VirtualPathUtility.ToAbsolute(FormsAuthentication.LoginUrl);
            string defaultUrl = VirtualPathUtility.ToAbsolute(FormsAuthentication.DefaultUrl);

            // Logged in
            if (Singular.Security.Security.HasAuthenticatedUser)
            {
                OETIdentity identity = OETWebSecurity.CurrentIdentity();

                var loginStatus = container.Helpers.DivC("login-status");
                {
                    loginStatus.Attributes["data-ContextMenu"] = "cmSecurity";

                    // User label
                    var userLabel = loginStatus.Helpers.HTMLTag("span", "Hello " + identity.FirstName);
                    {
                        userLabel.Style.Display = Display.inlineblock;
                    }

                    // Icon
                    loginStatus.Helpers.Image().Glyph = Singular.Web.FontAwesomeIcon.user;

                    // Context menu
                    var contextMenu = loginStatus.Helpers.DivC("context-menu-ls");
                    {
                        contextMenu.Attributes["id"] = "cmSecurity";
                        contextMenu.Style.TextAlign  = Singular.Web.TextAlign.right;

                        var contextMenuMain = contextMenu.Helpers.DivC("CM-Main");
                        {
                            var contextMenuMainHeader = contextMenuMain.Helpers.Div();
                            {
                                contextMenuMainHeader.AddClass("CM-Header");
                                contextMenuMainHeader.Helpers.Div().Helpers.HTML(identity.UserNameReadable);
                                contextMenuMainHeader.Helpers.Div().Helpers.HTML(identity.EmailAddress);
                            }

                            var contextMenuBody = contextMenuMain.Helpers.Div();
                            {
                                contextMenuBody.AddClass("Selectable");

                                // Uncomment if you have an edit profile page
                                // var contextMenuEditProfile = contextMenuBody.Helpers.Div();
                                // {
                                //   contextMenuEditProfile.Helpers.LinkFor(null, null, VirtualPathUtility.ToAbsolute("~/Profile.aspx"), "Edit Profile");
                                // }

                                // Change password
                                var contextMenuChangePassword = contextMenuBody.Helpers.Div();
                                {
                                    contextMenuChangePassword.Helpers.LinkFor(null, null, VirtualPathUtility.ToAbsolute("~/Account/ChangePassword.aspx"), "Change Password");
                                }

                                // Logout
                                var contextMenuLogout = contextMenuBody.Helpers.Div();
                                {
                                    contextMenuLogout.Helpers.LinkFor(null, null, defaultUrl + "?SCmd=Logout", "Logout");
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                // Logged out
                var loggedOutDiv = container.Helpers.Div();
                {
                    loggedOutDiv.Style.FontSize = "14px";
                    loggedOutDiv.Helpers.LinkFor(null, null, loginUrl, "Login").Style["text-decoration"] = "none";
                    loggedOutDiv.Helpers.Image().Glyph = FontAwesomeIcon.user;
                }
            }
        }
Exemplo n.º 2
0
 public Result Login(LoginDetails loginDetails)
 {
     return(OETIdentity.Login(loginDetails));
 }