【问题标题】:Is there a way to validate that the credentials given for the database have CRUD rights?有没有办法验证为数据库提供的凭据是否具有 CRUD 权限?
【发布时间】:2017-01-31 14:30:39
【问题描述】:

使用 EntityFramework 方法或其他方法来验证给定的凭据是否有足够的权限对​​数据库执行 CRUD 操作是一种好方法?

【问题讨论】:

  • 尝试 CRUD 操作并捕获任何抛出的异常?

标签: c# entity-framework


【解决方案1】:

我自己没有尝试过,但您可以尝试将DBA_TAB_PRIVS (Oracle) 添加到您的上下文中并对其进行查询以查看用户 (GRANTEE) 是否具有相关权限。

对于 SQL Server 权限,您可以参考 this post 并努力解决这个想法。

【讨论】:

    【解决方案2】:

    您可以使用System.Web.Mvc.AuthorizeAttribute 属性来限制调用者对操作方法的访问。

    这是一个示例,向您展示如何创建自定义AuthorizeAttributehttps://stackoverflow.com/a/11494091/5914627

    https://msdn.microsoft.com/en-us/library/system.web.mvc.authorizeattribute(v=vs.108).aspx

    【讨论】:

    • 与 OP 的要求无关!
    • 该问题询问有关检查使用实体框架的应用程序是否具有数据库权限。这个答案是关于限制 ASP.NET Web 应用程序的用户。这两种情况完全不相关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-30
    • 2015-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多