惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threat Research - Cisco Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
V
Vulnerabilities – Threatpost
GbyAI
GbyAI
P
Proofpoint News Feed
L
LINUX DO - 热门话题
P
Palo Alto Networks Blog
A
About on SuperTechFans
T
Tenable Blog
M
MIT News - Artificial intelligence
IT之家
IT之家
I
Intezer
D
DataBreaches.Net
爱范儿
爱范儿
T
Threatpost
C
CERT Recently Published Vulnerability Notes
云风的 BLOG
云风的 BLOG
博客园 - 三生石上(FineUI控件)
WordPress大学
WordPress大学
K
Kaspersky official blog
大猫的无限游戏
大猫的无限游戏
A
Arctic Wolf
Y
Y Combinator Blog
Cyberwarzone
Cyberwarzone
酷 壳 – CoolShell
酷 壳 – CoolShell
D
Darknet – Hacking Tools, Hacker News & Cyber Security
H
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
Spread Privacy
Spread Privacy
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
AWS News Blog
AWS News Blog
博客园 - 聂微东
C
Check Point Blog
S
Securelist
有赞技术团队
有赞技术团队
雷峰网
雷峰网
aimingoo的专栏
aimingoo的专栏
Last Week in AI
Last Week in AI
Stack Overflow Blog
Stack Overflow Blog
MongoDB | Blog
MongoDB | Blog
D
Docker
G
GRAHAM CLULEY
T
The Exploit Database - CXSecurity.com
C
Cybersecurity and Infrastructure Security Agency CISA
T
Tailwind CSS Blog
L
Lohrmann on Cybersecurity
G
Google Developers Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LangChain Blog

博客园 - amber lee zhao

(武义检察院)sqlplus执行sql脚本 windows下squid安装与配置 缓存服务器 System.Data.OracleClient requires Oracle client software version 8.1.7 or greater. Oracle Listener crash in Windows 【转】Session丢失原因分析 【转】Session丢失问题二 【转】Session丢失问题解决方法一 OracleMembershipProvider、OracleRoleProvider源代码 使用EnterpriseLibrary插入Oracle CLOB数据 使用System.Net.Mail发送邮件 - amber lee zhao 【转】oracle SQL性能优化 DataGridView导出为Excel文件 - amber lee zhao 使用HtmlAgilityPack批量抓取网页数据 在ASP.NET中使用Quartz.net进行工作调度 结合OracleMembershipProvider开发简单的asp.net应用程序----配置web.config文件 C#版本的OracleMembershipProvider Double-Array Trie分词词典简述 [转] sharpICTCLAS 中在找出所有词组组合时的优化 .net下ICTCLAS原子分词和lucene的Token比较
OracleMembershipProvider与登录控件使用的技巧 - amber lee zhao
amber lee zh · 2007-09-01 · via 博客园 - amber lee zhao

判断用户是否已经登录,如果没有登录则转向登录页面。参数ReturnUrl是当前请求页面,用户登录后,转向该页面。

  //判断用户是否经过了验证
        if (!User.Identity.IsAuthenticated)
        
{
            
//用户未经过验证,转向登录页面
            Server.Transfer(FormsAuthentication.LoginUrl + "?ReturnUrl=" + Request.Path);

        }

        
else
        

            
//用户经过了验证,更新当前活动时间
            string strName = User.Identity.Name;
            Membership.GetUser(strName, 
true);

            
        }

在登录页面进行小小的处理,实现“登录”按钮的点击事件,以便用户登录后转向请求页面。

protected void Login1_LoggedIn(object sender, EventArgs e)
    
{
        
string strRedirect = Request["ReturnUrl"];
        
if(string.IsNullOrEmpty(strRedirect))
        
{
            strRedirect 
= FormsAuthentication.DefaultUrl;
        }

        
this.Response.Redirect(strRedirect);
    }

用户申请帐号时,如果需要经过管理员核准后才予以使用,则在创建用户向导的“创建”按钮事件中,更新IsApproved的值

protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e)
    
{
       
            MembershipUser user 
= Membership.GetUser(CreateUserWizard1.UserName, false);
            user.IsApproved 
= false;//用户需要验证后才能登录
            Membership.UpdateUser(user);
            }

用户管理:核准、解锁、删除
html页使用Repeater控件

  <asp:Repeater ID="RepeaterItems" runat="server" OnItemDataBound="RepeaterItems_ItemDataBound" OnItemCommand="RepeaterItems_ItemCommand">
            
<HeaderTemplate>
                
<table cellspacing="1" align="center" cellpadding="3" border="0" style="background-color: #999999;
                    width: 699;"
>
                    
<tr class="style3" align="Center" style="font-weight: bold;">
                        
<td class="hstyle">
                            用户名
</td>
                        
<td class="hstyle">
                            email
</td>
                        
<td class="hstyle">
                            取回密码时的问题
</td>
                        
<td class="hstyle">
                            最后活跃时间
</td>
                        
<td class="hstyle" style="width: 51px;" nowrap>
                            批准
</td>
                        
<td class="hstyle" style="width: 51px;" nowrap>
                            解锁
</td>
                        
<td class="hstyle" style="width: 51px;" nowrap>
                            删除
</td>
                    
</tr>
            
</HeaderTemplate>
            
<ItemTemplate>
                
<tr class="style3" onmouseover="this.style.backgroundColor='#E8F9FD'" onmouseout="this.style.backgroundColor='#ffffff'"
                    style
="background-color: White;">
                    
<td align="Center">
                        
<%Eval("UserName")%>
                    
</td>
                    
<td align="Center">
                        
<%Eval("Email")%>
                    
</td>
                    
<td align="Center">
                        
<%Eval("PasswordQuestion")%>
                    
</td>
                    
<td align="Center">
                        
<%Eval("LastActivityDate","{0:d}")%>
                    
</td>
                    
<td align="center">
                        
<asp:LinkButton ID="LinkButton1" runat="server" Font-Underline="true"></asp:LinkButton>
                    
</td>
                    
<td align="center">
                        
<asp:LinkButton ID="LinkButton2" runat="server" Font-Underline="true"></asp:LinkButton>
                    
</td>
                    
<td align="center">
                        
<asp:LinkButton ID="LinkButton3" runat="server" Font-Underline="true"></asp:LinkButton>
                    
</td>
                
</tr>
            
</ItemTemplate>
            
<FooterTemplate>
                
</table>
            
</FooterTemplate>
        
</asp:Repeater>

cs代码:

 protected void Page_Load(object sender, EventArgs e)
    
{
        
//判断用户是否经过了验证
        if (!User.Identity.IsAuthenticated)
        
{
            
//用户未经过验证,转向登录页面
            Server.Transfer(FormsAuthentication.LoginUrl + "?ReturnUrl=" + Request.Path);

        }

        
else if (User.Identity.Name != "admin")
        
{
            
//不是管理员,退出
            
//用户未经过验证,转向登录页面
            Server.Transfer(FormsAuthentication.LoginUrl + "?ReturnUrl=" + Request.Path);

        }

        
//else
        
//{
        
//用户经过了验证,更新当前活动时间
        string strName = User.Identity.Name;
        Membership.GetUser(strName, 
true);
        
//MembershipUser userss;userss.PasswordQuestion
        if (!IsPostBack)
        
{
            
//所有用户
            MembershipUserCollection userColl = Membership.GetAllUsers();
            RepeaterItems.DataSource 
= userColl;
            RepeaterItems.DataBind();
        }


        
//}
    }

    
protected void RepeaterItems_ItemDataBound(object sender, RepeaterItemEventArgs e)
    
{
        MembershipUser user 
= (MembershipUser)e.Item.DataItem;

        
if (user != null)
        
{
            
//用户尚未被核准
            if (!user.IsApproved)
            
{
                LinkButton approvedLink 
= (LinkButton)e.Item.Controls[1];
                approvedLink.Text 
= "核准";
                approvedLink.CommandName 
= "APPROVED";
                approvedLink.CommandArgument 
= user.UserName;
            }


            
//用户被锁定
            if (user.IsLockedOut)
            
{
                LinkButton lockLink 
= (LinkButton)e.Item.Controls[3];
                lockLink.Text 
= "解锁";
                lockLink.CommandName 
= "UNLOCK";
                lockLink.CommandArgument 
= user.UserName;

            }


            
//不能删除用户自己
            if (!user.UserName.Equals(User.Identity.Name))
            
{
                LinkButton deleteLink 
= (LinkButton)e.Item.Controls[5];
                deleteLink.Text 
= "删除";
                deleteLink.CommandName 
= "DELETE";
                deleteLink.CommandArgument 
= user.UserName;
                deleteLink.Attributes.Add(
"onclick""return window.confirm('确定删除吗?');");
            }

        }

    }



   
    
protected void RepeaterItems_ItemCommand(object source, RepeaterCommandEventArgs e)
    
{
        
string commandName = e.CommandName;
        
string argument = (string)e.CommandArgument;
        
if ("DELETE".Equals(commandName))
        
{

            Membership.DeleteUser(argument);

        }

        
else if ("UNLOCK".Equals(commandName))
        
{
            OracleMembershipProvider oracleProvider 
= (OracleMembershipProvider)Membership.Provider;
            oracleProvider.UnlockUser(argument);
        }


        
else if ("APPROVED".Equals(commandName))
        
{
            MembershipUser user 
= Membership.GetUser(argument);
            user.IsApproved 
= true;
            Membership.UpdateUser(user);

        }


        MembershipUserCollection userColl 
= Membership.GetAllUsers();
        RepeaterItems.DataSource 
= userColl;
        RepeaterItems.DataBind();


    }