~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/plugin/authorization.h

  • Committer: Brian Aker
  • Date: 2010-12-07 09:12:12 UTC
  • mto: This revision was merged to the branch mainline in revision 1985.
  • Revision ID: brian@tangent.org-20101207091212-1m0w20tck6z7632m
This is a fix for bug lp:686197

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
 
25
25
#include "drizzled/plugin.h"
26
26
#include "drizzled/plugin/plugin.h"
 
27
#include "drizzled/security_context.h"
27
28
#include "drizzled/identifier.h"
28
29
 
29
30
#include <string>
54
55
   *
55
56
   * @returns true if the user cannot access the schema
56
57
   */
57
 
  virtual bool restrictSchema(const drizzled::identifier::User &user_ctx,
58
 
                              SchemaIdentifier::const_reference schema)= 0;
 
58
  virtual bool restrictSchema(const SecurityContext &user_ctx,
 
59
                              SchemaIdentifier &schema)= 0;
59
60
 
60
61
  /**
61
62
   * Should we restrict the current user's access to this table?
66
67
   *
67
68
   * @returns true if the user cannot access the table
68
69
   */
69
 
  virtual bool restrictTable(const drizzled::identifier::User &user_ctx,
 
70
  virtual bool restrictTable(const SecurityContext &user_ctx,
70
71
                             TableIdentifier &table);
71
72
 
72
73
  /**
78
79
   *
79
80
   * @returns true if the user cannot see the process
80
81
   */
81
 
  virtual bool restrictProcess(const drizzled::identifier::User &user_ctx,
82
 
                               const drizzled::identifier::User &session_ctx);
 
82
  virtual bool restrictProcess(const SecurityContext &user_ctx,
 
83
                               const SecurityContext &session_ctx);
83
84
 
84
85
  /** Server API method for checking schema authorization */
85
 
  static bool isAuthorized(drizzled::identifier::User::const_shared_ptr user_ctx,
86
 
                           SchemaIdentifier::const_reference schema_identifier,
 
86
  static bool isAuthorized(const SecurityContext &user_ctx,
 
87
                           SchemaIdentifier &schema_identifier,
87
88
                           bool send_error= true);
88
89
 
89
90
  /** Server API method for checking table authorization */
90
 
  static bool isAuthorized(drizzled::identifier::User::const_shared_ptr user_ctx,
 
91
  static bool isAuthorized(const SecurityContext &user_ctx,
91
92
                           TableIdentifier &table_identifier,
92
93
                           bool send_error= true);
93
94
 
94
95
  /** Server API method for checking process authorization */
95
 
  static bool isAuthorized(drizzled::identifier::User::const_shared_ptr user_ctx,
 
96
  static bool isAuthorized(const SecurityContext &user_ctx,
96
97
                           const Session *session,
97
98
                           bool send_error= true);
98
99
 
100
101
   * Server API helper method for applying authorization tests
101
102
   * to a set of schema names (for use in the context of getSchemaNames
102
103
   */
103
 
  static void pruneSchemaNames(drizzled::identifier::User::const_shared_ptr user_ctx,
 
104
  static void pruneSchemaNames(const SecurityContext &user_ctx,
104
105
                               SchemaIdentifier::vector &set_of_schemas);
105
106
  
106
107
  /**
111
112
 
112
113
};
113
114
 
114
 
inline bool Authorization::restrictTable(const drizzled::identifier::User &user_ctx,
 
115
inline bool Authorization::restrictTable(const SecurityContext &user_ctx,
115
116
                                         TableIdentifier &table)
116
117
{
117
118
  return restrictSchema(user_ctx, table);
118
119
}
119
120
 
120
 
inline bool Authorization::restrictProcess(const drizzled::identifier::User &,
121
 
                                           const drizzled::identifier::User &)
 
121
inline bool Authorization::restrictProcess(const SecurityContext &,
 
122
                                           const SecurityContext &)
122
123
{
123
124
  return false;
124
125
}