服务器配置
---------------------------------------
双至强3.0 2m缓存
intel原装主板
ecc ddr2 800m 2G内存
72G scsi 万转硬盘
*2 做镜像备份
带宽
---------------------------------------
共享100m
资源份数
---------------------------------------
10人
费用
------------------------------------
第一年 服务器+带宽 每人1000元
第二年 开始每人500 需要扩展硬件和维修 大家一起商量后共同决定 共同承担
服务器环境
-------------------------------
windows2003 iis6
sqlserver2005
xlight ftpserver
.net 1.0 2.0 3.0 3.5
svn 服务器端
每份资源及权限
-------------------------------
默认5G空间(如果大家都觉得空间不够可以一起承担加一个大硬盘)
10%cpu资源限制
10%的带宽资源限制
独立 iis进程池 sqlserver账号 ftp账号 svn仓库
需要跑特殊server 只要不超出配额资源许可范围,不会引发安全问题,我可以代劳
需要对iis\sqlserver\ftp 特殊操作均由我代劳,不可能给每个人提供远程管理权限
所有网站希望共享人积极备案,不允许跑反动 色情 赌博 黑客等违法应用。如果
受到通知要关闭站点的只能按照通知办事情,另不允许跑论坛这样敏感的应用。
目前参与人数 4人 [主要都是园子里的朋友]
henry 寒风天上 我 我朋友
我的联系方式
qq 131147
便捷式的个人web服务器 主要针对asp.net应用 默认支持*.*映射
可以用来定制属于自己的单机版asp.net应用 也可以用来测试繁多的asp.net应用
下载
针对任意asp.net应用的目录 点右键 选择 "0-作为web应用运行" 即可创建一个针对该目录为根的web服务器供测试
可以用命令行起用 “webserver 物理路径 端口 虚拟路径”
可以直接将安装后的 webserver.exe、Boxi.ASPX.dll复制到任意asp.net应用的bin目录 然后直接执行webserver.exe运行
摘要: pdo.net是我开发中的sso模块的一部分,它是兼容pdo统一接口的.net实现简介========================================pdo规范由动易(powereasy),动网(dvbbs),oblog三方联合制订和维护,其目的在于为不同的WEB应用按照统一的规范开发用户通行接口,以便实现不同WEB应用之间的用户数据同步。对该规范感兴趣的人可以去http://ww...
阅读全文
CS是啥?可不是用枪爆头那个东西~ 是.net世界里面开源的典范
包含了 一个论坛 一个电子相册 还有一个博客,最早期要从宝玉研究asp forums的汉化工作算起
一直到宝玉建立了CCS 把这么优秀的代码介绍了给大家 在这里像宝玉致敬了!!
但是由于宝玉他们主要是精力没法集中在CCS的商业化进程上~CCS的结构又很复杂。所以让一般的开发者望而却步!!
小弟不才就有过想在CCS的基础上基于某一成熟版本 做商业化的开发乃至于产品。不过那些都是以后有精力才敢想的了
昨天我提出了一些对UI权限管理的控制想法
今天在研究CCS后台管理的UI组织上所幸看见了根据权限进行UI界面组织的实现~~乐得把手都拍红了
现在就为大家大致介绍一下。如果是一知半解希望大家抱着宽容的态度 不要说些刻薄的话~
首先~在CCS后台管理是通过CommunityServerControls\Navigation\tabs.cs来进行界面组织的~
在该文件中首先申明了Tab和TabCollection两个实体类 Tab是表示每个选项的Tab标签页的实体类
其主要属性有
private string _text;//文字
private string _href;//超链接
private string _name;//名称
private string _queryString;//用来设置当前的url传值参数
private string _roles;//角色~能够访问该Tab的角色
private bool _enable = true;//是否可以使用
private Tab[] _children;//子功能的Tab数组
private bool _isRoot = false;//是否根
private string _filter = null;//用来存放该Tab的操作
而TabCollection则主要含有一个Tab的数组用来存放一组Tab实体对象。
TabControl类用来组织Tab标签显示和操作。首先它可以通过配置的一个xml配置文件获取后台管理可能出现的所有菜单组织
1
protected TabCollection GetTabs()
2
{
3
string path = Context.Server.MapPath(FileLocation);
4
5
TabCollection tc = CSCache.Get(path) as TabCollection;
6
if(tc == null)
7
{
8
9
tc = (TabCollection)Serializer.ConvertFileToObject(path,typeof(TabCollection));
10
CSCache.Max(path,tc,new System.Web.Caching.CacheDependency(path));
11
}
12
return tc;
13
} 在GetTabs()方法中我们能够通过本地xml文件获得后台管理的TabCollection实体类来获得后台管理的配置
然后在读取配置文件的过程中它会根据配置文件的权限角色说明来确定每个标签及其子标签可以允许哪些用户浏览其xml配置简要如下:
1
<?xml version="1.0" encoding="utf-8"?>
2
<TabCollection>
3
<Tabs>
4
<Tab text="主页" href="~/admin" name="Home" isRoot = "true" />
5
<Tab text="博客" href="~/admin/blogs" name="Blogs" >
6
<SubTabs>
7
<Tab text="日志" href="~/admin/blogs/postlist.aspx?App={0}" name="Posts" querystring="App" filter = "Blogs,CreateBlogs,AdminWeblogSettings,BlogPermissions,BlogDefaultPermissions" />
8
<Tab text="文章" href="~/admin/blogs/articlelist.aspx?App={0}" name="Articles" querystring="App" filter = "Blogs,CreateBlogs,AdminWeblogSettings,BlogPermissions,BlogDefaultPermissions" />
9
<Tab text="反馈" href="~/admin/blogs/feedback.aspx?App={0}" name="Feedback" querystring="App" filter = "Blogs,CreateBlogs,AdminWeblogSettings,BlogPermissions,BlogDefaultPermissions" />
10
<Tab text="链接" href="~/admin/blogs/manageblogroll.aspx?App={0}" name="Links" querystring="App" filter = "Blogs,CreateBlogs,AdminWeblogSettings,BlogPermissions,BlogDefaultPermissions" />
11
<Tab text="配置" href="~/admin/blogs/weblogsettings.aspx?App={0}&Url=blog_myblogs&Args=" name="Configure" querystring="App" filter = "Blogs,CreateBlogs,AdminWeblogSettings,BlogPermissions,BlogDefaultPermissions" />
12
<Tab text="切换到Blog" href="~/admin/blogs" name="Switch" querystring="App" filter = "Blogs" />
13
<Tab text="管理Blog" href="~/admin/blogs/ManageWeblogs.aspx" name="CreateBlogs" roles = "SystemAdministrator;BlogAdministrator" />
14
<SubTabs>
15
<Tab text="设置" name="AdminWeblogSettings" roles = "SystemAdministrator;BlogAdministrator" />
16
</SubTabs>
17
<Tab text="权限设置" href="~/admin/blogs/ManageWeblogPermissions.aspx" name="BlogPermissions" roles = "SystemAdministrator;BlogAdministrator" />
18
<Tab text="默认权限设置" href="~/admin/blogs/ManageDefaultWeblogPermissions.aspx" name="BlogDefaultPermissions" roles = "SystemAdministrator;BlogAdministrator" />
19
</SubTabs>
20
</Tab>
21
<Tab text="新功能" href="~/测试/" name="新功能" querystring="App" filter = "">
22
</Tab>
23
</Tabs>
24
</TabCollection> 我们在filter属性中设置某一层UI界面允许的操作以及在roles属性设置该Tab标签运行访问的角色
比如上述配置文件中管理Blog就只能是系统管理员(SystemAdministrator)和博客管理员(BlogAdministrator)
另一方面filter属性中设置了该Tab标签允许的操作
querystring用来获取当前Http请求的url传值 querystring="App"
如果后台管理的地址为~/admin/blogs/postlist.aspx?App={0} 当我们访问后台是时会从当前的http请求中获取Querystrng["App"]格式化到{0}的部分
从而实现了其区分每个人能通过它访问管理自己的程序的操作
通过这个配置文件 TabCollection类能够通过一个Render(HtmlTextWriter writer)方法将菜单根据用户角色和xml配置来组织显示给大家浏览。
当然 系统从逻辑层有效的进行了权限控制~ 这里仅仅是用来让用户通过UI层获得更好的用户体验~具体它的逻辑层的权限控制还有待进一步研究
摘要: WebClientMircsoft在dotnet1.1框架下提供的向 URI 标识的资源发送数据和从 URI 标识的资源接收数据的公共方法。通过这个类,大家可以在脱离浏览器的基础上模拟浏览器对互联网上的资源的访问和发送信息。 WebClient类不能被继承,在dotnet1.1框架中已经为我们提供了WebRequest和WebResponse两个强大的类来处理向URI标示的资源和获取数据了。然后,...
阅读全文
摘要: 长期来一直在做关于数据库的业务开发。主要是web应用程序,间或会开发windows应用程序。虽然我经常使用sqlserver数据库。但是也就刚刚开始学习一段时间比较热衷于存储过程后来一直有个想法就是希望自己的应用能很方便的在各种数据库里面移植。于是自己做了一个简陋的DBHelper简单的对各种常用数据库的操作进行了封装,然后把各种操作依旧采用sql语句的方法来执行。后来又觉得每次对sql的调整:比...
阅读全文