洋葱架构访问目录和应用程序数据库

肖恩·范·威克

我对洋葱架构有些困惑。

假设我正在开发一个应用程序,用户可以在其中注册帐户,登录并维护其帐户(例如,更改电话号码)。

但是,当他们登录时,他们可以做其他应用程序工作(例如,EG创建产品,添加博客条目,发送带有照片的消息等)。

我正在努力定义业务逻辑,这就是原因。

所有应用程序服务都保存到Postgresql数据库中。

所有的用户管理功能和登录到其帐户均由处理LDAP 389 Directory Server我将使用Novell.Directory.LdapPackage,因为它将在Mono上运行,并且尚不支持System.DirectoryServices.Protocols

应用程序数据库和目录服务器都具有唯一的表。

是否将应用程序数据库实体和LDAP目录服务模型都放在App.Domain.Entities中?

从技术上讲,我有2种不同类型的数据库,它们具有不同类型的模型。

不完全确定如何处理这一问题。

我的解决方案结构:

  • 领域
    • App.Domain.Entities
    • App.Domain.Interfaces
  • 基础设施
    • App.Infrastructure.Data(FluentNHibernate)
    • App.Infrastructure.DependecyResulution(SimpleInjector)
    • App.Infrastructure.Interfaces
    • App.Infrastructure.Logging(NLog)
    • App.Infrastructure.LDAP(Novel.Directory.Ldap)
  • 服务
    • App.Services.Interfaces
  • 网页
    • App.Web.UI(ASP.NET MVC 4剃刀)

我敢肯定我做错了。有人可以通过一些伪造的例子向我指出正确的方向。例如模型去哪里等等。

先感谢您

埃迪

对于单一登录应用程序,您可能希望将所有安全性移至直接与LDAP提供程序一起使用的单独服务中。这样,您就不会将特定于产品的LDAP代码紧密地耦合到Web应用程序中。然后,您的Web应用程序可以调用安全服务,并向其传递已登录到操作系统的用户的登录凭据。这样,如果您需要向一个或多个“用户组”授予权限,则可以从安全服务中返回一个布尔值,表明该登录用户是否被授权。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

访问设备上的android应用程序数据库(权限被拒绝)

Django:访问第三方应用程序数据库

移动应用程序数据库

.NET中的移动应用程序数据库

大型应用程序数据库

C#应用程序数据库布局

将Android应用程序数据库与Windows窗体应用程序数据库同步

Firebase身份验证和实时应用程序数据库如何保护自身?

基于 DialogFlow 语音的应用程序数据库搜索(iOS 和 Android)

Java GUI应用程序架构+数据库,MVC

健身锻炼日志应用程序的数据库架构

汇率应用程序的数据库架构

如何将Django应用程序数据库同步到我的PC上的本地目录

SQLite数据库创建openOrCreateDatabase,什么是应用程序数据库的正确路径

应用程序卸载Flutter时不会删除应用程序数据库

如何访问另一个应用程序数据库并插入一些记录

无法访问我的 django 应用程序数据库中的对象,请帮助 ;-;

如何为AWSless Serverless应用程序迁移(更新数据库架构)数据库

使用spring-boot连接到spring-batch和应用程序数据库

Polymer应用程序中的Firebase数据库结构-性能和用户/组/公共访问

可以从应用程序外部访问Firebase数据库

外部数据库访问,我的应用程序崩溃

锁定Firebase数据库对特定应用程序的访问

从Web应用程序访问数据库的最佳实践

访问数据库时应用程序崩溃

rspec测试使用Rails应用程序数据库中整个表的伪数据

Android Studio 4.1数据库检查器未检测到应用程序数据库

从默认的MVC应用程序数据库中删除用户

用于存储 3D 模型的 AR 应用程序数据库