MySQL Roles.RemoveUserFromRole 在 MySQL 中不起作用

标签 mysql asp.net-mvc roles

MySQL 中似乎存在一个错误,如果用户名包含斜杠,则 Roles.RemoveUserFromRole 不起作用。该问题在这里有详细描述https://bugs.mysql.com/bug.php?id=77264但我似乎找不到任何解决方法。我尝试使用 userName.Replace(@"\", @"\") 转义“\”,但这没有什么区别。有什么建议吗?

最佳答案

我最终只是自己动手,直到这个问题在 MySQL 角色提供程序中得到解决。如果有人需要的话,这是代码(nHibernate 风格)。

    private static bool RemoveUserFromRole(string userId, string roleName)
    {
        var sess = NHibernateSession.GetDefaultSessionFactory().OpenSession();

        const string query = @"
                                delete 
                                from my_aspnet_usersinroles 
                                where 
                                    roleId in (select id from my_aspnet_roles where name = :roleName)
                                    and userId = :userId;
                                ";
        var result = sess.CreateSQLQuery(query)
                .SetParameter("userId", userId)
                .SetParameter("roleName", roleName)
                .ExecuteUpdate();

        return result >= 0;

    }

关于MySQL Roles.RemoveUserFromRole 在 MySQL 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36603035/

相关文章:

MySQL Server 8.0 - 没有 bin 文件

mysql - 带有 IN 和 SELECT 子查询的 CASE

asp.net-mvc - 尝试添加强类型 View 在 MVC 项目中找不到任何类

javascript - 使用基于另一个组合框选择的 Javascript 填充 MVC 5 View 组合框

Symfony 2 - 在 ROLE_USER 下添加用户角色

java - 通过 userDetailsManager 更改用户角色

Spring Security taglib 秒 :authorize with role hierarchy not working

php - 更新停止在 768 条记录

mysql - 在 windows7 的 yii2 中安装 mongodb 失败

javascript - 有人愤怒地使用 Knockoutjs 和 asp.net-mvc 吗?