经常用到所以记录下来,免得找找麻烦 ヘ(-_-ヘ フフフフフ
不管是本地windows程序还是web应用,都可以用两种方法存储写连接数据字符串配置 ,分别使用AppSettings和ConnectionStrings。
其中AppSettings是ASP.NET1.1时期用的, ConnectionStrings为.NET Framework 2.0新增,只能用于存储数据库连接字符串。代码中分别使用
ConfigurationManager.AppSettings["name"]、
ConfigurationManager.ConnectionStrings["name"]进行调用。
使用方法如下:
在 configuration 元素中,创建一个名为 connectionStrings 的新元素
1.使用ConnectionStrings
使用DB认证时如下所示
在使用windows统合认证时如下所示(例为连接到本地的Northwind实例数据库)
注:Integrated Security的值为SSPI或者True都可表示使用windows统合认证。
在 <connectionStrings> 里,在页面还可以这样引用<%$ ConnectionString:Name%>. 例如
2.使用appSettings:
关于链接字符串的更详细信息,请参考MSDN
http://msdn.microsoft.com/zh-cn/library/dx0f3cf2(VS.80).aspx
如题,经常用到所以记录下来,免得找找麻烦 ヘ(-_-ヘ フフフフフ
1 「完全控制」(Full Control)权限
1.1 如果是小段代码,那么直接嵌套到SPSecurity.RunWithElevatedPrivileges里
代码示例:
SPSecurity.RunWithElevatedPrivileges(delegate()
{
//添加代码
});
1.2 如果是一个Void的Method的话,就要用到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