示例#1
0
    protected void FormViewUser_DataBound(object sender, System.EventArgs e)
    {
        if (Page.Request.UrlReferrer != null)
        {
            if (Page.Request.UrlReferrer.AbsolutePath.Contains("new") && !IsPostBack)
            {
                ltlMessage.Text = MessageFormatter.GetFormattedSuccessMessage("Insert successful");
            }
        }

        string userID = Page.RouteData.Values["User_id"] as string;

        if (userID != null && userID != "0")
        {
            List <Role_Users>  role_Users  = new Role_UsersBLL().GetRole_UsersByUserID(new Guid(userID));
            List <Group_Users> group_Users = new Group_UsersBLL().GetGroup_UsersByUserID(new Guid(userID));

            DropDownList ddlRoles = (DropDownList)formViewUser.FindControl("ddlRoles");
            if (ddlRoles != null)
            {
                ddlRoles.SelectedValue = role_Users[0].RoleID.ToString();
            }

            DropDownList ddlGroups = (DropDownList)formViewUser.FindControl("ddlGroups");
            if (ddlGroups != null)
            {
                ddlGroups.SelectedValue = group_Users[0].GroupID.ToString();
            }
        }
    }
示例#2
0
        // 3) RetreiveData = with AccessToken retreive date (IMPORTANT: Need Authorization)
        public AccessAuthorizerResponse IsAuthorizedRetreiveData(HttpRequestMessage request, List <Role> roles)
        {
            UserBLL  userBLL     = new UserBLL();
            TokenBLL tokenBLL    = new TokenBLL();
            User     user        = new User();
            Token    accessToken = new Token();

            if (request.Headers.Contains(OAuthConstants.AuthorzationHeader))
            {
                IEnumerable <string> authorzationHeaders = request.Headers.GetValues(OAuthConstants.AuthorzationHeader);
                if (authorzationHeaders.Count() == 1)
                {
                    string stringAccessToken = authorzationHeaders.FirstOrDefault();

                    Guid guidAccessTokenKey;
                    if (!Guid.TryParse(stringAccessToken, out guidAccessTokenKey))
                    {
                        return(new AccessAuthorizerResponse(-1, "Token inválido"));
                    }

                    accessToken = tokenBLL.GetTokenByTokenKey(guidAccessTokenKey);

                    if (accessToken == null || accessToken == new Token())
                    {
                        return(new AccessAuthorizerResponse(-1, "Token inválido"));
                    }

                    if (accessToken.ExpireDate < DateTime.Now || accessToken.RequestTokenKey == null)
                    {
                        return(new AccessAuthorizerResponse(-1, "Token inválido"));
                    }

                    user = userBLL.GetUserByUserID((Guid)accessToken.UserID);

                    List <Role> user_Roles = new Role_UsersBLL().GetRole_UsersByUserID(user.UserID).Select(instance => instance.Role).ToList();

                    List <Role> matchingRoles = (
                        from userRls in user_Roles
                        join rls in roles
                        on userRls.RoleID equals rls.RoleID
                        select userRls
                        )
                                                .ToList();

                    if (matchingRoles.Count == 0)
                    {
                        return(new AccessAuthorizerResponse(-1, "Token inválido"));
                    }

                    accessToken.ExpireDate = DateTime.Now.AddMinutes(_accessTokenExpireMinutes);
                    tokenBLL.UpdateToken(accessToken);

                    HttpContext.Current.Items["accessToken"] = accessToken;
                    HttpContext.Current.Items["user"]        = user;

                    return(new AccessAuthorizerResponse(1, "Token válido"));
                }
            }

            return(new AccessAuthorizerResponse(-1, "Token inválido"));
        }