Edgewall Software

Ticket #1316 (closed enhancement: fixed)

Opened 4 years ago

Last modified 13 months ago

Ticket/Report view permissions dependent on owner (or user logged in)

Reported by: StefanW@… Owned by: athomas
Priority: high Milestone: 0.11
Component: ticket system Version: devel
Severity: normal Keywords: acl permission
Cc: trac-spam@…, thong@…, armandocroce@…, yura@…, dt@…, s.lipnevich@…

Description

We are a software development company and give access to our trac-page to our customers over internet so that they can add feature requests and post bugs-fix-requests. It turned out, that it is not good, that some of our customers can see tickets, which where added by our developers. We only want the costumers to see the tickets, which they added cause some customers are afraid of bug-tickets which where created by our developers. So we need some kind of permission that the customer only sees the tickets what he added. We thought also for some kind of dynamic view of reports dependent on the login-name. So our developers can choose the 'All active tickets' and the customer can only see and choose the report 'active ticket from [LoggedInUser?]'.

Customers who are familiar with software development are not afraid of a growing ticket list caused by bug-fixing-requests created by our developers. But customers who are not familiar with software development don't know that it is absolute normal through a software-development-live-cycle that bugs are occuring and they have to be written down somewhere and beeing fixed when the right time comes. Would be nice if you could comment this ticket whether that is a priority feature for you to implement in the next few months or not. Group permissions would also be cool in that case. So we could split up the users in 'developers' and 'customers' (or 'partner-developers'...) If money could increase the speed of development of this feature, let me know.

Attachments

Change History

Changed 4 years ago by Florent Guillaume <fg@…>

  • cc fg@… added

Changed 3 years ago by vittorio

  • severity changed from normal to enhancement

Changed 3 years ago by cmlenz

  • keywords acl added
  • milestone 0.9 deleted

Note for 0.9.

Changed 3 years ago by anonymous

  • cc fg@… removed

Changed 3 years ago by raven@…

I'm also very interested in such feature as a quick solution i did the following:
- users in "group" developer can see all tickets
- all other users can only see self created oder assigned tickets.

edit all reports below "view tickets" and limit the sql statements to developer "group", e.g. the "view all tickets" sql should be as follows (look for the perm keyword):

SELECT p.value AS __color__,
   id AS ticket, summary, component, version, milestone, t.type AS type, severity, 
   (CASE status WHEN 'assigned' THEN owner||' *' ELSE owner END) AS owner,
   time AS created,
   changetime AS _changetime, description AS _description,
   reporter AS _reporter
  FROM ticket t, enum p, permission perm
  WHERE status IN ('new', 'assigned', 'reopened') 
AND p.name = t.priority AND p.type = 'priority' AND perm.action = 'developer' and perm.username='$USER'
  ORDER BY p.value, milestone, severity, time

in trac.ini disable the custom query link, so nobody can create querys

[components]
trac.ticket.query.* = disabled

Changed 3 years ago by anonymous

  • cc trac-spam@… added

Changed 3 years ago by anonymous

I would like to see this feature too

Changed 3 years ago by anonymous

To expand on this theme:

It would be nice if tickets could be set to be "public" or not. A simple version could be a ticket attribute that is a permissions group. A full implementation would probably allow a list of users/groups to be attached to each ticket. Naturally, there should be a default, and the value of this attribute should be changeable as the ticket proceeds though its lifetime. Presumably, regardless of this setting any given ticket should be visible to its creator and owner.

This would be very helpful for managing "moderated" public access to tickets.

Changed 3 years ago by anonymous

To add an actual case (happened to me tonight):

A developer or friend finds a security issue in the software. They report it on trac. Now I want to see this ticket, and the reporter too. But I don't want others to see it until I addressed the issue. That way the security sites wont find the ticket until I have a vender supplied patch.

I'll try Raven's post tomorrow.

Changed 3 years ago by minaguib

I would also very much like to see exactly what "03/06/06 16:34:46: Modified by anonymous" described. An "only for group XYZ" property that could be set on individual tickets.

We're a small IT team in a company and we use Trac internally to manage all our requests and multiple projects. As of right now requests hitting our team have to be proxied through someone in the team who creates the Trac tickets. We would love to open Trac to the rest of the company to allow them direct access to create their own tickets, however we absolutely need a way to hide certain sensitive tickets from the public view.

Changed 3 years ago by cboos

See related discussion in Trac-Dev:476 about the PermissionPolicy features.

Changed 2 years ago by mgood

  • owner changed from jonas to alect
  • milestone set to 0.11

This will be a part of the PermissionPolicy in 0.11.

Changed 2 years ago by cboos

  • owner changed from alect to athomas

who's alect? ;)

Changed 2 years ago by anonymous

  • cc thong@… added

any updates on this?

Changed 2 years ago by Noah Kantrowitz <coderanger@…>

This is implemented in 0.10 in the PrivateTickets plugin.

Changed 2 years ago by kuahyeow@…

how about in 0.11dev?

Changed 2 years ago by cboos

  • keywords permission added
  • owner changed from athomas to cboos

Yeah, I'm thinking about re-doing the PermissionPolicy based on WikiContexts.

Changed 22 months ago by cboos

#3466 was closed as duplicate of this one.

There's also #2393, which is not strictly a duplicate, but request the same thing for the TICKET_APPEND permission.

Note that the PermissionPolicy feature is seeing good progress, so those features will likely get implemented (or be easily implementable as a plugin) soon.

Changed 22 months ago by anonymous

  • cc armandocroce@… added

Changed 22 months ago by cboos

#2393 discussed a variation of the same theme.

I think we could add a sample PermissionPolicy plugin for this functionality.

Changed 19 months ago by yura ivanov

  • cc yura@… added

I need an option to actually hide tickets from reports, not only restrict to see (or comment) them. Is it possible? I mean if you can see all tickets (title, owner, reporter, summary) listed in report you actually have an access to restricted area... I understand that this ticket only about permissions, but need to be able use restriction table to hide restricted tickets. Simply add join to the report query and to be sure that all treestyle permissions will be cosidered (Customers->Company A->John can see in a report and view/comment only their company tickets).

Changed 18 months ago by athomas

  • owner changed from cboos to athomas

TracDev/SecurityBranch merged in r5514. However, currently only the Wiki and attachment subsystems have been converted, so until the ticket, report and query subsystems are done (which will happen before 0.11) this will not actually be possible.

A sample plugin implementing authz based access control is included as an example.

Changed 17 months ago by anonymous

  • cc dt@… added

Changed 17 months ago by cboos

  • owner changed from athomas to cboos
  • priority changed from normal to high

Besides adding the fine grained permissions to the ticket subsystem, I think we could add two useful sample plugins:

  1. PrivateTicketsPolicy?: restrict ticket viewing to the ones the user have created
  2. SecurityTicketsPolicy?: prevent any ticket flagged with a security keyword to be viewed by unprivileged users or the ticket reported

(stealing ticket away from aat, hope this will wake him up ;-) )

Changed 17 months ago by athomas

Bah! Still thinking about ways to fix the attachment problem actually.

Those two plugins are good sample ones too. Another might be to allow anybody in a group of users to view tickets created by other users in that group - a PrivateGroupPolicy.

Changed 17 months ago by anonymous

  • cc s.lipnevich@… added

Changed 16 months ago by cboos

#5878 was marked as duplicate.

Changed 15 months ago by athomas

  • owner changed from cboos to athomas
  • status changed from new to assigned

Since r5958 tickets are subject to the fine grained permission policies. The report and query subsystems will follow.

Changed 15 months ago by athomas

Also added a sample plugin that will deny access to tickets with "security" or "vulnerability" in the summary or keyword fields.

Changed 13 months ago by cboos

  • milestone changed from 0.11.1 to 0.11

Changed 13 months ago by cboos

  • status changed from assigned to closed
  • resolution set to fixed

Now in trunk (r6139). Please file any new issue with ticket permission as a new ticket.

Add/Change #1316 (Ticket/Report view permissions dependent on owner (or user logged in))

Author



Change Properties
<Author field>
Action
as closed
Next status will be 'reopened'
to The owner will change from athomas. Next status will be 'closed'
 
Note: See TracTickets for help on using tickets.