Spp b980aff83e Core: Implement Role based Access Control
- This system will give more control of actions an account can perform.

System defines:
- Permissions to perform some action
- Roles: a set of permissions that have some relation
- Groups: a set of roles that have some relation

Operations:
- Grant: Assign and allow
- Deny: Assign and do not allow
- Revoke: Remove

Precedence to know if something can be done: Grant, Deny. That means, if you are granted some action by a role but you have denied the permission, the action can not be done.

Some Rules:
- Groups can only have roles
- Roles can only have permissions
- An account can be assigned granted and denied roles. Permissions inherited from roles are granted if roles is granted and denied if roles is denied
- An account can be assigned granted and denied permissions
- An account can have multiple groups, roles and permissions
- An account can not have same role granted and denied at same time
- An acconnt can not have same permission granted and denied at same time
- Id 0 can not be used to define a group, role or permission

Added some permissions as a sample of use (Instant Logout, Skip Queue, Join BGs, Join DF) and some permissions as a workaround to commands till command system is modified to use RBAC
2013-02-04 09:04:33 +01:00
2013-01-01 00:41:01 +01:00
2013-01-23 20:29:40 +01:00
2013-01-01 15:35:09 +01:00
2013-01-21 02:47:51 +00:00
2013-01-26 05:32:37 +01:00
2012-10-13 03:47:14 +03:00

= TrinityCore -- General information =

Copyright (C) TrinityCore (http://www.trinitycore.org)

  Trinity Core is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

  In addition, as a special exception, the Trinity Core project
  gives permission to link the code of its release of Trinity Core with
  the OpenSSL project's "OpenSSL" library (or with modified versions of
  it that use the same license as the "OpenSSL" library), and distribute
  the linked executables.  You must obey the GNU General Public License
  in all respects for all of the code used other than "OpenSSL".  If you
  modify this file, you may extend this exception to your version of the
  file, but you are not obligated to do so.  If you do not wish to do
  so, delete this exception statement from your version.

TrinityCore is a MMORPG Framework based mostly on C++. It is completely 
open source, and is community supported. It is derived
from MaNGOS, the Massive Network Game Object Server, and is based on the
code of that project with extensive changes over time to optimize, improve
and cleanup the codebase at the same time as improving the ingame mechanics
and functionality. If you wish to contribute ideas or code please visit 
our site linked below or make pull requests to our github repo at 
https://github.com/TrinityCore/TrinityCore

For further information on the TrinityCore project, please visit our
project website at http://www.TrinityCore.org

Documentation including installation instructions can be found inside
the doc directory.

SQL files to create the database can be found in the sql directory. Files
to update your database from an older revision/version can be found in the
sql/updates directory.

TrinityCore Requirements
Platform: Linux, Windows or Mac
Processor with SSE2 support
ACE ≥ 5.8.3
MySQL ≥ 5.1.0
CMake ≥ 2.8.0
OpenSSL ≥ 0.9.8o
GCC ≥ 4.3 (Linux only)
MS Visual Studio ≥ 9 (2008) (Windows only)
Description
Server emulator for World of Warcraft 3.3.5.12340 and other versions
Readme 10 GiB
Languages
C++ 89%
C 10.4%
CMake 0.4%