当前位置: 首页 > news >正文

邢台市网站开发公司有哪些颐和国际沧州网络科技

邢台市网站开发公司有哪些,颐和国际沧州网络科技,珠海电商网站制作,网页设计简图前言#xff1a;在应用于集团版客户或SAAS平台服务的业务系统中#xff0c;流程管理系统需要支持多用户组织模型。其中包括角色数据、流程定义数据和流程实例数据的多用户标识绑定。本文旨在全面描述如何基于SlickOne敏捷开发框架实现上述基础服务功能#xff0c;形成一个完…前言在应用于集团版客户或SAAS平台服务的业务系统中流程管理系统需要支持多用户组织模型。其中包括角色数据、流程定义数据和流程实例数据的多用户标识绑定。本文旨在全面描述如何基于SlickOne敏捷开发框架实现上述基础服务功能形成一个完整的支持多用户查看和维护各自流程数据的管理后台系统。   1. 基础数据的多用户标识 1.1 多用户公司数据表 数据库表SysCompany用来存储多用户/多租户的基本信息字段CompanyID 用来标识后期业务数据的所有者。 1.2 角色/用户数据表 角色用户表统一增加CompanyID字段用来确定角色和用户属于具体的那一个用户或租户。 1.3. 流程定义数据的多用户标识 数据库表WfProcess增加CompanyID字段用来标识流程定义属于那一个用户或租户。 1.4. 流程实例数据的多用户标识 所有的流程实例数据统一增加CompanyID字段用了标识流程实例数据的拥有者范围。 2. 多站点类型的SSO功能实现 多站点SSO单点登录功能的实现便于统一整合不同子系统的数据管理和维护尤其对于平台级别的软件产品多个子系统的是需要经常频繁操作访问的。所以一次登录再次免验证就非常方便简捷。 2.1 系统环境配置 1) Form 认证方式配置 authentication modeFormsforms loginUrlhttp://localhost/sfadmin/Account/Login protectionAll timeout240 name.AuthCookie //authentication 2) Session 状态存储配置 sessionState modeInProc customProviderDefaultSessionProvider timeout480providersadd nameDefaultSessionProvider typeSystem.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version1.0.0.0, Cultureneutral, PublicKeyToken31bf3856ad364e35 connectionStringNameDefaultConnection //providers/sessionState 3) MachineKey 配置 machineKey validationKeyzsdgfdg3FF1B0F88DDF585BA5D35E7BC87E3F0AB47FBBEBD12240DD3BEA2BEAEC4ABA215478658ugfjnhgfnmj3F22AD27E8FAD77DCFEE306219691434908D193A17C1FC8DCE51B71A4AE54920 decryptionKeyECB6A3AF9ABBF3F16E80685ED68DC74B0B13CCEE538EBBA97D0B893139683B3B validationSHA256 decryptionAES /   4) 登录页面重定向地址 add keyFormAuthenticationRedirectUrl valuehttp://localhost/sfadmin/Account/Login/   2.2 Session 对象操作和访问  用于服务端用户对象的身份信息存储包括用户ID标识用户名称公司ID标识票据信息和权限数据等。 /// summary/// 获取登录用户ID/// /summary/// param namesession/param/// returns/returnspublic int GetLogonUserID(){return (int)Get(WEB_LOGON_USER_ID);}public int GetLogonCompanyID(){return (int)Get(WEB_LOGON_COMPANY_ID);}/// summary/// 获取登录用户Session的GUID/// /summary/// param namesession/param/// returns/returnspublic string GetLogonUserSessionGUID(){return Get(WEB_LOGON_SESSION_GUID).ToString();}/// summary/// 获取登录用户票据/// /summary/// param namesession/param/// returns/returnspublic string GetLogonUserTicket(){var obj Get(WEB_LOGON_USER_TICKET);var ticket obj ! null ? obj.ToString() : string.Empty;return ticket;}   2.3 Cookie 对象操作和访问 前端JS脚本访问用户的特定信息通过Cookie对象获取来实现大致代码如下 function getWebLogonUserCookie() {var name SlickOneWebLogonUserDataCookie;var cookie getCookie(name);if (cookie ! undefined) {var userAccount $.parseJSON(cookie);return userAccount;} else {return null;}}lsm.getWebLogonUserID function () {var userAccount getWebLogonUserCookie();var userID userAccount.UserID;return userID;}lsm.getWebLogonCompanyID function () {var userAccount getWebLogonUserCookie();if (userAccount ! null) {var companyID userAccount.CompanyID;return companyID;} else {return ;}}   2.4 登录验证后的票据存储  用户登录之后需要将其基本身份信息和关联的角色或权限数据存储下来。而且作为前后端分离的系统服务端需要使用这些票据数据前端也需要通过Cookie对象访问用户信息作为权限控制的审核来源。 //create form ticketFormsAuthenticationTicket ticket new FormsAuthenticationTicket(1, loginName, DateTime.Now, DateTime.Now.AddMinutes(240),true, userDataContent, FormsAuthentication.FormsCookiePath);string ticString FormsAuthentication.Encrypt(ticket);//write cookies in response//SetAuthCookie mark identity status trueHttpContext.Current.Response.Cookies.Add(new HttpCookie(SlickOneWebCookie, ticString));   3. Mvc页面及WebAPI安全访问 3.1 Mvc页面授权访问 页面控制器统一继承于页面基类基类中重载方法OnActionExecuting()读取用户身份信息并存储到Session对象如果是非授权用户则跳转到登录页面。代码示例如下 /// summary/// Authentication Verify When Action Executing/// /summary/// param namefilterContext/paramprotected override void OnActionExecuting(ActionExecutingContext filterContext){var attr filterContext.ActionDescriptor.GetCustomAttributes(typeof(AllowAnonymousAttribute), true);bool isAnonymous attr.Any(a a is AllowAnonymousAttribute);if (isAnonymous false){var session filterContext.HttpContext.Session;this.SessionManager.SetSession(session);var user this.SessionManager.GetLogonUser() as WebLogonUser;if (user null){var webCookie base.Request.Cookies[SlickOneWebCookie];if (webCookie ! null !string.IsNullOrEmpty(webCookie.Value)){var encryptTicket webCookie.Value;SaveUserSession(encryptTicket);}else{//Not a Valid Logon User, Need To Be Login Agaginvar formRedirectUrl WebConfigurationManager.AppSettings[FormAuthenticationRedirectUrl].ToString();string url string.Format({0}?ReturnUrl{1}, formRedirectUrl, Request.RawUrl);filterContext.HttpContext.Response.Redirect(url, true);}}}base.OnActionExecuting(filterContext);}   3.2 WebAPI 接口安全访问  WebAPI控制器增加属性过滤器用于验证是否是授权访问的接口其中需要从Cookie中读取票据信息验证审核用户是否是合法授权用户。 /// summary/// check authorizaton information when action executing/// /summary/// param nameactionContext/parampublic override void OnActionExecuting(HttpActionContext actionContext){//get authentication cookie from requestvar authCookie actionContext.Request.GetCookie(SlickOneWebCookie);if (!String.IsNullOrEmpty(authCookie)){//decrypted user ticket informationif (ValidateUserTicket(authCookie))base.OnActionExecuting(actionContext);elseactionContext.Response new HttpResponseMessage(HttpStatusCode.Unauthorized);}else{//verify webapi security settingbool isRquired (WebConfigurationManager.AppSettings[WebApiSecurityEnabled].ToString() true);if (isRquired){//check anonymous attributevar attr actionContext.ActionDescriptor.GetCustomAttributesAllowAnonymousAttribute().OfTypeAllowAnonymousAttribute();bool isAnonymous attr.Any(a a is AllowAnonymousAttribute);if (isAnonymous)base.OnActionExecuting(actionContext);elseactionContext.Response new HttpResponseMessage(HttpStatusCode.Unauthorized);}else{base.OnActionExecuting(actionContext);}}}  4. 主界面操作说明  主界面是整个后台数据维护的入口页面集成了用户基础数据、流程数据、表单数据和其它设置页面。其中流程定义表单定义都链接到不同的WEB应用程序地址这些WEB应用程序统一实现SSO要求的FORM认证统一登录地址等特性。保证一次登录再次免验证就能访问各子系统的简捷操作。   5. 总结 SlickOne敏捷框架的示例项目主要包括了基础数据的维护业务系统集成访问SSO单点登录实现MVC页面安全和WebAPI安全访问等功能特性。作为企业级应用系统的开发可以完全担当软件团队的技术统一框架解决方案。在后期的版本中依然考虑企业用户的需求增加和构建功能模块做到框架软件的可扩展和二次开发。 6. DEMO 演示地址http://gc.slickflow.com/sfadmin/用户名和密码admin/123456流程设计器http://gc.slickflow.com/sfd/表单设计器http://gc.slickflow.com/smd/7. 社区版源代码     SlickOne项目开源地址:     http://github.com/besley/slickone  8. 企业版授权说明 1) Demo仅作为功能演示使用如需获取产品完整源代码和开发文档请申请企业版商业授权。 2) QQ群151650479 3) EMail: salesruochisoft.com 9. 参考 1. SlickOne 敏捷开发框架介绍一转载于:https://www.cnblogs.com/slickflow/p/7867712.html
http://wiki.neutronadmin.com/news/434548/

相关文章:

  • ppt制作网站推荐wordpress 网页模板
  • 四川工程建设项目一般挂什么网站seo软件资源
  • 管理系统网站模板企业网络推广计划
  • 网站建设歺金手指排名13网站如何建立数据库
  • 网站二次开发模板图片制作视频的软件
  • 太原百度网站建设mysol做的选课网站
  • 江油网站网站建设建设网站有什么特点特色
  • 做网站运营工资是不是很低静态网站入侵教程
  • 河北建设协会官方网站搭建wordpress配置
  • 贵州省城市建设厅网站电商平台推广方式有哪些
  • wordpress 网站赏析微信网页编辑器
  • 为什么不做网站做公众号公司装修效果图办公室
  • 长沙哪里有网站推广优化企业关键词大全
  • 电子商务网站开发流程图网站怎么做好
  • 做网站设计提成赚钱吗江苏建设招投标网
  • 河北网站建站系统哪家好大连警方最新通告
  • 温江区建设局网站网站建设教程最新资讯
  • 做网站之前备案wordpress内部跳转链接
  • 庆阳网站设计公司做网站用什么
  • 广州产品网站设计360免费建站怎么样
  • 企业网站颜色wordpress登陆名
  • 做游戏网站的前景神马关键词快速排名软件
  • 西安网站seo公司百业网
  • 创意集团网站建设商务网站建设实训结论
  • 佛山建设公司网站wordpress 下载主题
  • 招聘类网站如何做德州百度推广公司
  • o2o平台网站开发wordpress 个人简历模板下载
  • 网站开发数据库有关合同wordpress标签页固定链接
  • 程序员给传销做网站济南建立网站
  • 高明网站设计多少钱黑蜘蛛网站