随笔-23  评论-5  文章-0  trackbacks-0
  2009年4月27日

经常用到所以记录下来,免得找找麻烦 ヘ(-_-ヘ フフフフフ

不管是本地windows程序web用,都可以用两种方法存储接数据字符串配置 ,分使用AppSettingsConnectionStrings
其中AppSettingsASP.NET1.1期用的, ConnectionStrings.NET Framework 2.0新增,只能用于存数据库连接字符串。代中分使用
ConfigurationManager.AppSettings["name"]、
ConfigurationManager.ConnectionStrings["name"]行调用

 

使用方法如下:

configuration 元素中,建一个名 connectionStrings 的新元素

1.使用ConnectionStrings
使用DB认证时如下所示

<connectionStrings> 
<add name="ConnectionStringName" connectionString="Data Source=服务器名;Initial Catalog=数据库名;User ID=用户;Password=密码" providerName="System.Data.SqlClient" /> 
</connectionStrings> 

 

在使用windows统合认证时如下所示(例为连接到本地的Northwind实例数据库)

<connectionStrings>
 
<add 
    name
="NorthwindConnection" 
    connectionString
="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;" />
</connectionStrings>

注:Integrated Security的值为SSPI或者True都可表示使用windows统合认证。

 

 <connectionStrings> ,可以这样引用<%$ ConnectionString:Name%>. 例如

<asp:SqlDataSource ID="ProductsDataSource" Runat="server" 
    SelectCommand
="SELECT * from Products"
    ConnectionString
="<%$ ConnectionStrings: NorthwindConnection %>"
</asp:SqlDataSource>

2.使用appSettings

<add key="connectionstringName" value="data source=服务器名或IP;initial catalog=数据库名;persist security info=False;user id=用户;password=密码;packet size=4096"> 
</add>

 

关于链接字符串的更详细信息,请参考MSDN
http://msdn.microsoft.com/zh-cn/library/dx0f3cf2(VS.80).aspx

 

posted @ 2009-04-27 15:00 阿米巴原虫 阅读(115) 评论(0) 编辑

如题,经常用到所以记录下来,免得找找麻烦 (-_-ヘ フフフフフ

 

1       「完全控制」(Full Control)权限

1.1      如果是小段代,那直接嵌套到SPSecurity.RunWithElevatedPrivileges

代码示例:

SPSecurity.RunWithElevatedPrivileges(delegate()

{

//添加代

});

1.2      如果是一个VoidMethod的话,就要用到SPSecurity.CodeToRunElevated了。

MSDN上剽窃的代码:ξ(^^ ))))) 

protected void Button1_Click(object sender, EventArgs e)

{

   SPSecurity.CodeToRunElevated elevatedGetSitesAndGroups = new SPSecurity.CodeToRunElevated(GetSitesAndGroups);

   SPSecurity.RunWithElevatedPrivileges(elevatedGetSitesAndGroups);

}

 

2       如果希望模拟某个用户的权限,那么可以使用UserToken

SPSite mySite=new SPSite("<SPSiteURL>");

SPUser user = mySite.RootWeb.SiteUsers["domain\\xiaoming"];

SPSite xiaomingLogonSite = new SPSite("<SPSiteURL>", user.UserToken);

 

3       察看是否具有查看网站列表项的权限(SPWeb,SPList,SPListItem等也拥有此方法。)

using (SPSite mySite = new SPSite(SPContext.Current.Site.Url))

{

    SPWeb myWeb = mySite.allwebs["<SPWebURL>"];

    bool isHavePermission = myWeb.DoesUserHavePermissions(SPBasePermissions.ViewListItems);

}

 

具体可以参考MSDN

http://msdn.microsoft.com/zh-cn/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx

 

 

 

posted @ 2009-04-27 09:34 阿米巴原虫 阅读(286) 评论(0) 编辑